linux 上的蟒蛇太多

too many pythons on linux

我最近开始在 virtualbox 上使用 python 和 xubuntu,但我遇到了问题。我希望能够使用 numpy,所以我认为 apt-get install python-numpy 可以解决所有问题,但是使用 shell 我一直得到 No module named numpy。我用 IDLE 它可以找到它。我也有 IDLE (using Python-2.7),它又可以导入 numpy。然后我注意到 shell 有 python 2.7.9,而 IDLE 有 python 2.7.6。 使用

import sys
print sys.path

这是我从 2.7.9 (shell)

/usr/local/lib/python2.7/site-packages/setuptools-17.0-py2.7.egg
/usr/local/lib/python2.7/site-packages/Pillow-2.3.0-py2.7-linux-x86_64.egg
/usr/local/lib/python2.7/site-packages/mock-1.0.1-py2.7.egg
/usr/local/lib/python27.zip
/usr/local/lib/python2.7
/usr/local/lib/python2.7/plat-linux2
/usr/local/lib/python2.7/lib-tk
/usr/local/lib/python2.7/lib-old
/usr/local/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/site-packages

从 2.7.6 (IDLE) 开始

/home/alessandro
/usr/bin
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
/usr/lib/python2.7/dist-packages/gtk-2.0
/usr/lib/pymodules/python2.7
/usr/lib/python2.7/dist-packages/ubuntu-sso-client

我知道我安装了两个版本的 python,不知何故我最终只将 packageg 安装到其中一个版本(2.7.6)中。 我希望能够在 shell 和 IDLE 中使用 2.7.9,并且我还想安装以便 python 2.7.9 可以看到它们。 我读到我可以将路径添加到 python sys.path,但是没有更多 efficient/persistent 方法来做我想做的事吗?

PS:如果您需要更多信息,请告诉我

对于我的项目,我通常为手头项目所需的每个 python 版本创建一个 virtualenv。我使用 pip 管理它们以安装我需要的特定版本。此外,您应该能够在 IDE 中选择 python 路径。虽然我没有使用 IDLE,但我读到 here 显然在安装过程中 idle 与 python 版本一起出现。所以也许你的空闲版本相互冲突。如果您当时只想在您的计算机上安装一个 python 版本,您可以考虑简单地删除并重新安装所需版本。我再次推荐 pip 而不是 apt-get 等。希望这对你有帮助。

值得一试的 PyDev,一个适用于 Eclipse 的插件 python。 http://marketplace.eclipse.org/content/pydev-python-ide-eclipse , or http://pydev.org/。 这允许您为不同的项目配置 python 版本。 我有一些项目使用 python 2.7,其他项目使用 3.4。 它检查整个系统以搜索要使用的 PYTHONPATH!