我安装的是熊猫模块为Python 2.7使用apt-get。但是,当我尝试导入模块时,它会引发ImportError:
import pandas as pd
File "/usr/lib/pymodules/python2.7/pandas/__init__.py", line 15, in <module>
raise ImportError('ImportError: C extensions not built: if you installed already verify that you are not importing from the source directory')
Run Code Online (Sandbox Code Playgroud)
来电/usr/lib/pymodules/python2.7/pandas/__init__.py是:
import pandas.lib as lib
except Exception: # pragma: no cover
import sys
e = sys.exc_info()[1] # Py25 and Py3 current exception syntax conflict
if 'No module named' in str(e):
raise ImportError('C extensions not built: if you installed already '
'verify that you are not importing from the source '
'directory')
else:
raise
Run Code Online (Sandbox Code Playgroud)
为什么我得到ImportError这个,我该如何解决?
以下是我在交互式 Python shell 中尝试导入 Pandas 的依赖项时得到的结果:
>>> import numpy as np
>>> import dateutil
>>> import pytz
>>> import numexpr
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named numexpr
>>> import bottleneck
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named bottleneck
Run Code Online (Sandbox Code Playgroud)
以下是Pandas 的依赖项:
Pandas 项目列出了以下两个强烈推荐的依赖项:
看起来apt-get只安装了必需的依赖项,而没有安装强烈推荐的依赖项;因此,ImportError当您尝试导入时会得到numexpr和bottleneck。安装这些模块很可能可以解决问题。
从 Python Traceback 可以明显看出,您正在运行 Python 2.7,因此请按照以下建议安装这两个模块:
numexpr存在于 Ubuntu 的存储库中。因此,通过运行以下命令来安装它:
sudo apt-get install python-numexpr
Run Code Online (Sandbox Code Playgroud)bottleneckUbuntu 的存储库中不存在。因此,使用pip. 我们还需要安装build-essentials软件包才能构建bottleneck:
sudo apt-get install python-pip build-essentials
sudo pip install bottleneck
Run Code Online (Sandbox Code Playgroud)小智 0
另外,如果通过 PIP 安装了一个包easy_install,现在又通过 PIP 安装了其他依赖包,则可能会出现此类问题。
easy_install要修复此问题,请删除通过 .安装的任何/所有模块rm -rf /usr/local/lib/python2.7/site-packages/"module_name"。
然后跑pip install "module_name"。
| 归档时间: |
|
| 查看次数: |
49840 次 |
| 最近记录: |