我安装了2.7.3版本,无论何时输入:
import numpy
我收到一条错误消息,说我没有安装它。但是当我运行python 2.6时,它会很好地导入它。我以前的所有库都会出现同样的情况:scipy,numpy,cv,cv2,networkx。我认为这与切换新默认版本的python库路径有关。我该怎么做?
答案 0 :(得分:4)
您必须为每个python版本单独安装库。这些库不是共享的,不应在不同版本的python之间共享。
答案 1 :(得分:3)
Python sys.path
将包含导入库所需的路径列表,如果您确信python2.6
中安装的库可以在python2.7
中运行,则需要每次加载解释器时都会更新sys.path
。
如果您使用的是GNU / Linux,可以将导出PATH=/path/to/py2.6/library:$PATH
添加到〜/ .bashrc。
建议使用pip
并在python2.7中安装所有库。
http://www.pip-installer.org/en/latest/index.html
自安装python2.7
和python2.6
后,请在安装库时小心使用它们。
[EDIT]
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py
并相应地开始使用pip-2.7
或pip
。
答案 2 :(得分:1)
如果您下载numpy源,解压缩并cd到numpy目录,并键入(以root身份)
python2.7 setup.py install
python 2.7将在自己的区域中安装numpy。同样适用于您提到的其他模块。
问题是大多数安装程序只会查找python
,它与默认情况下Ubuntu安装使用的链接相关联。理论上你可以做类似
sudo cp -f $(which python2.7) $(which python)
覆盖此链接,但覆盖系统默认的python安装是一个非常坏主意,几乎肯定会破坏某些东西。
答案 3 :(得分: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,如果在你的路径中配置它。