导入时出现 ImportError pandas:gettz 未构建

ImportError while importing pandas: gettz not built

突然间,由于 ImportError,我的 python 文件不再 运行。我已经通过 conda 尝试了 updating/reinstalling pandas 但这并没有改变任何东西。

  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.

我该如何解决这个问题?

按照 furas 的建议,安装软件包 dateutil 修复了错误。

第 1 步:运行pip uninstall pandas

第 2 步:运行pip install python-dateutil

第 3 步:运行pip install pandas

这解决了我的问题。

用Karthic Srinivasan的方法解决了问题,但是安装的时候又遇到了问题pandas。我的解决办法是开放cmd授权,用conda代替pip安装pandas,就解决了这个问题。