【发布时间】:2021-01-07 08:36:17
【问题描述】:
由于 ImportError,我的 python 文件突然不再运行。我已经尝试通过 conda 更新/重新安装熊猫,但这并没有改变任何东西。
File "/p/tmp/user/env/lib/python3.7/site-packages/pandas/__init__.py", line 29, in <module>
from pandas._libs import hashtable as _hashtable, lib as _lib, tslib as _tslib
File "/p/tmp/user/env/lib/python3.7/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 "pandas/_libs/hashtable.pyx", line 1, in init pandas._libs.hashtable
File "pandas/_libs/missing.pyx", line 1, in init pandas._libs.missing
File "/p/tmp/user/env/lib/python3.7/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
ImportError: cannot import name gettz
srun: error: cs-g14c06b11: task 0: Exited with exit code 1
srun: Terminating job step 19094047.0
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/p/tmp/user/file_name.py", line 3, in <module>
import pandas as pd
File "/p/tmp/user/env/lib/python3.7/site-packages/pandas/__init__.py", line 37, in <module>
) from e
ImportError: C extension: gettz not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --force' to build the C extensions first.
我可以尝试解决这个问题吗?
【问题讨论】:
-
它似乎使用 C/C++ 代码,它可能需要为此编译器。
-
@furas 我该如何解决这个问题?它在集群上运行,而不是在我的本地机器上。
-
错误显示
"you may need to run 'python setup.py build_ext --force' to build the C extensions first."- 所以也许你必须这样做 - 或者你可能不得不要求管理员这样做。 -
我不知道——据我所知,只有在作为源代码下载时,模块中可能有
setup.py。但是当你使用pip安装它时,你会得到没有源代码和setup.py,所以它可能没用。但是我在模块dateutil 中看到函数gettz,也许它需要在安装pandas之前安装dateutil,它会编译它。 -
pandas可以使用许多外部模块(即numpy、matplotlib、dateutil、csv、xlsreader、lxml、requests)通常它应该自动安装所有这些
标签: python pandas python-import importerror