3

我安装了 2.7.3 版,每当我输入:

import numpy

我收到一条错误消息,说我没有安装它。但是当我运行 python 2.6 时,它会很好地导入它。我以前的所有库都发生了同样的情况:scipy、numpy、cv、cv2、networkx。我认为这与为新的默认版本切换 python 库路径有关。我该怎么做呢?

4

4 回答 4

4

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

于 2012-04-19T08:47:45.227 回答
3

Pythonsys.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.7python2.6已安装,请在安装库时小心使用它们。

[EDIT]

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

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

于 2012-04-19T08:48:50.720 回答
1

如果您将 numpy 源代码、untar 和 cd 下载到 numpy 目录,然后键入(以 root 身份)

python2.7 setup.py install 

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

问题是大多数安装程序只会查找python,它与您的 Ubuntu 安装默认使用的任何内容相关联。理论上你可以做类似的事情

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

覆盖这个链接,但是覆盖你的系统默认 python 安装是一个非常糟糕的主意,几乎肯定会破坏一些东西。

于 2012-04-20T04:59:33.130 回答
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,您应该能够执行它。

于 2017-06-17T22:28:20.163 回答