我是一个linux新手,搞砸了python3在我的服务器中设置的方式。它已经有了python 3.5,但我需要3.6,所以我安装了它,现在它不会导入我用pip3安装的任何模块,我的猜测之一是系统变量的配置错误而python 3.6可以&# 39;访问图书馆。
对不起,如果它看起来有点模糊,任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
Python 3.6有自己的包子目录;您需要重新安装所有软件包。
这使得不同的Python版本彼此分离,并确保没有兼容性问题。例如,一个包可能与Python 3.6兼容,但不与3.5兼容,如果同时使用3.5和3.6(例如,用于测试目的),则该包对于Python 3.5不起作用。
要区分Python 3.5的pip
和3.6的版本,请在其"模块"中使用它。命令格式:
python3.6 -m pip install <whatever>
和python3.5
甚至python2.7
(*)
为Python 3.6安装所有当前Python 3.5软件包的一种可能的简单方法是使用pip&#39; 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
作为模块安装。