繁体   English   中英

安装的Python模块 - Python无法找到它们

[英]Installed Python Modules - Python can't find them

这是一个初学的python安装问题。 这是我第一次尝试安装和调用包。 我已经安装了pip ,我试图安装两个模块 - numpypandas

在终端中,我运行了以下命令:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM