提问者:小点点

如何将所有模块移动到新版本的Python(从3.6到3.7)


我刚刚升级到python 3.7,我意识到我的所有模块都与以前的版本保持一致。即使是Django也不再被认可。如何将所有内容转移到新版本?我现在有点不知所措,甚至不知道新版本安装在哪里了。

编辑:

当我做$whichpython3时。6终端告诉我它不存在,但我有一个蟒蛇3。6安装所有模块的/usr/local/lib/目录。

在同一个目录/usr/local/lib/中,我还有一个python3。7目录,其中安装了一些模块,但缺少许多模块。但是,当我搜索文件python3时。7在我的finder中,它不会出现。当我做$whichpython3时。7路径是/usr/local/bin,因此与目录路径不同。

任何人都知道发生了什么,知道我如何将所有模块传输到python3。7


共3个答案

匿名用户

即使旧的python版本已被删除,也可以使用当前python版本的pip和--path选项列出以前版本中安装的所有模块。

例如,将我的所有用户安装的python模块从3.7迁移到3.8

pip freeze --path ~/.local/lib/python3.7/site-packages > requirements.txt
pip install --user -r requirements.txt

顺便说一句,我总是将pip安装--user一起使用,并将系统范围的安装留给我的linux发行版的包管理器。

匿名用户

由于可能存在兼容性问题,重新安装所有软件包更安全:

pip3.6 list | awk '{print $1}' | xargs -I{} pip3.7 install {}

匿名用户

在较旧版本的Python中--运行命令

pip freeze > requirments.txt

将PATH变量更改为新版本并运行命令

pip install -r requirments.txt