2017-09-18 53 views
-1

我是Linux新手一种是搞砸了python3方式是建立在我的服务器。它已经有python 3.5,但我需要3.6,所以我安装它,现在它不会导入我用pip3安装的任何模块,我的猜测之一是系统变量的配置是错误的,python 3.6无法访问图书馆。不能导入PIP模块安装在Ubuntu

很抱歉,如果这似乎有点含糊,任何帮助将不胜感激,谢谢。

回答

0

的Python 3.6拥有自己的子目录的包;你需要重新安装所有的软件包。

这简单地保持不同Python版本彼此分离,并确保没有兼容性问题。例如,一个包可能与Python 3.6兼容,但与3.5不兼容,如果您同时使用3.5和3.6(例如,用于测试目的),则该包不适用于Python 3.5。

pip用于Python 3.5和区分3.6,在其 “模块” 命令的形式使用它:

python3.6 -m pip install <whatever> 

和类似为python3.5甚至python2.7(*)


一个潜在的根本办法安装所有当前的Python 3.5包的Python 3.6是PIP的freeze命令,并使用xargs

python3.5 -m pip freeze | xargs -n1 python3.6 -m pip install 

-n1饲料包的一个列表逐个pip install,所以如果有在安装时包为Python 3.6的一个问题,你会看到一个错误信息,但除此之外,它会高兴地继续下去,以下一个包。

请注意pip freeze对于每个版本都支持当前安装的版本;您不会自动以这种方式安装Python 3.6的最新版本。也许这就是你想要的。否则,使用--upgrade标志:

python3.5 -m pip freeze | sed -ne 's/==.*//p' | xargs -n1 python3.6 -m pip install` 

(这也是升级所有PIP安装的软件包一气呵成的方式:

python -m pip freeze | sed -ne 's/==.*//p' | xargs -n1 python -m pip install --upgrade` 


(*)如果Python 2.7有点旧,它可能没有默认安装pip作为模块。