[英]Installed Python Modules - Python can't find them
这是一个初学的python
安装问题。 这是我第一次尝试安装和调用包。 我已经安装了pip
,我试图安装两个模块 - numpy
和pandas
。
在终端中,我运行了以下命令:
sudo pip install numpy
sudo pip install pandas
两个命令都返回成功消息。 这是pandas
成功消息(它是我安装的第二个包,仍然在我的终端历史记录中):
Successfully installed pandas
Cleaning up...
安装numpy
后, pip
返回了类似的消息。
现在,当我启动python
并尝试调用它时:
import pandas
我收到此错误消息:
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named pandas
当我尝试numpy
。
谁能告诉我我做错了什么?
哎呀。 你的路径中有两个相同版本的蟒蛇? 不要那样做。
pip,easy-install等与特定的python安装相关联,默认情况下将使用该python。 所以如果你有一个系统提供的python和一个系统提供的easy_install(或者你自己使用系统python安装easy_install),那么easy_install默认会安装系统python的包。
避免这种混乱的最好的方法,imho,是使用系统python用于该版本(可能是2.7),对于其他版本, make alt-install
时使用make alt-install
,这将为您提供python3.1
之类的可执行文件。 如果您确实需要更换系统提供的版本,请将其卸载。
一旦你做完了。 每个python都有一个不同的名称(以版本结尾), python
仍然是系统之一。
接下来,当您安装easy_install时,您会注意到版本特定的版本(例如easy_install-2.7
)。 用那些。 如果缺少一个,那么使用适当的python安装distutils(例如使用python3.1
,你将得到一个easy_install-3.1
)。 不幸的是,每次你这样做(iirc)你都会覆盖未版本化的easy_install
,所以永远不要使用它 - 总是使用版本化的。
或者,你不能安装easy_install或pip用于系统版本以外的任何东西,然后总是使用virtualenv 。 virtualenv将允许你指定一个python版本(所以你可以使用系统virtualenv安装所有的pythons),然后为你使用的python安装easy_install / pip。 所以,一旦你进入虚拟环境,一切正常。
我刚刚意识到我对pip没有多少经验,所以我实际上无法帮助(除了要注意virtualenv确实提供了它)(关于哪个更好:它曾经是那个pip得到了更好的维护;我认为这些天最新的distutils / easy_install和pip一样好,但是pip还有一些我从未使用过的功能。
免责声明:以上是从开发lepl的经验中获得的,它运行在2.6到3.2之间,因此我需要对所有这些进行测试。 据我所知,我上面描述的内容对我有用,但我对python / easy_install / pip没有深入的了解,所以我可能在合理化/描述事情时会有一些错误(换句话说,我正在写这些以防万一)它有帮助,但我有点担心我有一个错误 - 请有人纠正我,如果是这样)。
有了这个,我解决了问题(可能对你有帮助):
$ sudo apt-get install python-pandas
$ sudo apt-get install python-numpy
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.