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

Nic*_*Bar 5 python python-module updates package

我刚刚升级到python 3.7,我意识到我所有的模块都停留在以前的版本中。甚至Django也不再被认可。如何将所有内容转移到新版本?我现在有点迷茫,甚至不知道新版本的安装位置。

编辑:

当我执行$ which python3.6此操作时,终端会告诉我它不存在,但是我在中有一个python3.6目录/usr/local/lib/,其中安装了所有模块。

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

任何人都可以看到发生了什么,知道如何将所有模块转移到python3.7吗?

小智 17

即使删除了旧的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
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我总是使用pip install--user和离开系统内的安装到我的Linux发行版的包管理器。


Tia*_*Shi 6

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

pip3.6 list | awk '{print $1}' | xargs -I{} pip3.7 install {}
Run Code Online (Sandbox Code Playgroud)


小智 5

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

pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)

在 python 上下载并安装更新版本。将 PATH 变量更改为新版本并运行命令

pip install -r requirements.txt 
Run Code Online (Sandbox Code Playgroud)