2012-04-19 69 views
3

我安装的版本2.7.3,每当我键入:安装了python 2.7.3,我所有的库都在python 2.6上。

import numpy 

我得到一个错误信息说我没有安装它。但是当我运行python 2.6时,它会精美地导入它。我之前的所有图书馆都有同样的情况:scipy,numpy,cv,cv2,networkx。我认为它与切换新的默认版本的Python库路径有关。我该怎么做呢?

+0

请发布完整的错误追溯。 – Trufa 2012-04-19 08:26:52

回答

4

您必须为每个python版本单独安装库。这些库不共享,不应该在不同版本的Python之间共享。

+0

它不起作用。顺便说一句,我在Ubuntu 10.04 LTS上。每当我运行python它说它的2.7.3默认版本,但是当我安装: pip install networkx 它安装在2.6版本上。安装它同样如此: python setup.py build 在2.6版本中安装时仍然存在错误。当我运行python 2.7.3(前面说过的是我的默认设置),并询问'import numpy'时,它会显示'找不到模块...'。 – Arturo 2012-04-20 00:47:59

+0

您使用python 2.7安装中的pip,并使用它来安装软件包。你的pip是2.6,所以它会安装python 2.6的包。 – Dikei 2012-04-20 02:17:03

+0

如何从python 2.7使用pip?我假设因为Python 2.7.3已经设置为默认值,我所能做的只是“pip install numpy”,或者我如何指定2.7的点数?在另一篇文章中,他们建议我使用pip-2.7,但终端告诉我它不存在。 – Arturo 2012-04-20 05:11:06

3

的Python sys.path将举行地方需要查看导入库路径的列表,如果你有信心,安装在python2.6库将在python2.7工作,你需要更新你每次加载解释时间sys.path

如果您使用的是GNU/Linux,您可以将export PATH=/path/to/py2.6/library:$PATH添加到〜/ .bashrc中。

它建议使用pip并将所有库安装在python2.7中。

http://www.pip-installer.org/en/latest/index.html

由于python2.7python2.6安装,要小心使用他们,而安装库。

[EDIT]

$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py

,并开始使用pip-2.7pip相应。

+0

它不起作用。顺便说一句,我在Ubuntu 10.04 LTS上。每当我运行python时,它说它的2.7.3默认版本,但是当我使用:pip install networkx进行安装时,它将自己安装在2.6版本上。安装它同样如此:python setup.py build在2.6版本中安装时仍然存在错误。当我运行python 2.7.3时,如前所述是我的默认设置,并询问'import numpy',它表示'没有发现模块'... – Arturo 2012-04-20 00:50:23

+0

@ManuelArturoDeza:查看我的编辑信息。 – Kracekumar 2012-04-20 04:50:39

1

如果你下载的numpy的源,解压缩,并cd到numpy的目录,和类型(如根)

python2.7 setup.py install 

Python 2.7版将在自己的区域安装numpy的。同样应该适用于你提到的其他模块。

问题是,大多数安装程序只会寻找python,它会链接到默认情况下安装的任何Ubuntu。从理论上说,你可以不喜欢

sudo cp -f $(which python2.7) $(which python) 

覆盖此链接,但覆盖系统默认的Python安装是非常糟糕的主意,并几乎肯定会碰坏。

1

我对CentOS 6有这个问题,因为它使用python 2.6作为系统,Yum依赖于它。我的解决方法是暂时将/usr/bin/python二进制文件重命名为其他内容(例如,/usr/bin/orig-python)。然后,我做了一个链接到python 2.7安装:

ln -s /usr/local/bin/python2.7 /usr/bin/python 

而且,它的工作完美。

如果你有一个固执的程序不会采用你的$PATH中的设置,那么你的程序就能正常工作,因为通常你应该能够在你的路径中配置正确的python。