因生产环境无法连接外网,只能做离线导入所需要的包
[root@gp_dw site-packages]# tar -zxvf six-1.16.0.dist-info.tar.gz six-1.16.0.dist-info/ six-1.16.0.dist-info/LICENSE six-1.16.0.dist-info/METADATA six-1.16.0.dist-info/WHEEL six-1.16.0.dist-info/top_level.txt six-1.16.0.dist-info/RECORD six-1.16.0.dist-info/INSTALLER [root@gp_dw site-packages]# pip3 install --no-index --find-links="/usr/local/python3/lib/python3.6/site-packages" six==1.16.0 Requirement already satisfied: six==1.16.0 in /usr/local/python3/lib/python3.6/site-packages
复制
问题
在使用python3 环境中,导入 pandas 模式报错:ModuleNotFoundError: No module named ‘six’
单独导入six 模块一样报错,内容如下:
[oracle@gp_dw py_main]$ python3
>>> import pandas;
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.6/site-packages/pandas/__init__.py", line 30, in <module>
from pandas._libs import hashtable as _hashtable, lib as _lib, tslib as _tslib
File "/usr/local/python3/lib/python3.6/site-packages/pandas/_libs/__init__.py", line 13, in <module>
from pandas._libs.interval import Interval
File "pandas/_libs/interval.pyx", line 1, in init pandas._libs.interval
File "/usr/local/python3/lib/python3.6/site-packages/pandas/_libs/tslibs/__init__.py", line 30, in <module>
from .conversion import OutOfBoundsTimedelta, localize_pydatetime
File "pandas/_libs/tslibs/conversion.pyx", line 1, in init pandas._libs.tslibs.conversion
File "pandas/_libs/tslibs/timezones.pyx", line 7, in init pandas._libs.tslibs.timezones
File "/usr/local/python3/lib/python3.6/site-packages/dateutil/tz/__init__.py", line 2, in <module>
from .tz import *
File "/usr/local/python3/lib/python3.6/site-packages/dateutil/tz/tz.py", line 19, in <module>
import six
ModuleNotFoundError: No module named 'six'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/python3/lib/python3.6/site-packages/pandas/__init__.py", line 38, in <module>
) from e
ImportError: C extension: No module named 'six' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.
>>> import six
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'six'
复制
解决
因为是离线导入包,在拷贝的过程中,把 six.py 文件给漏了
将文件传到对应目录,重新导入,问题解决
[root@gp_standby site-packages]# scp six.py hnyunwei@10.*.*.120:/usr/local/python3/lib/python3.6/site-packages [root@gp_dw site-packages]# pip3 install --no-index --find-links="/usr/local/python3/lib/python3.6/site-packages" six==1.16.0 Requirement already satisfied: six==1.16.0 in /usr/local/python3/lib/python3.6/site-packages [oracle@gp_dw py_main]$ python3 Python 3.6.1 (default, Jul 29 2022, 10:06:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import six >>>
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。