在更新Python时保留已安装的软件包

8 浏览
0 Comments

在更新Python时保留已安装的软件包

我已经在Windows 10上安装了Python 3.7。升级到3.8的推荐方法似乎是进行新安装,这意味着我将同时拥有两个版本。我不需要两个版本,但我想保留我为3.7版本安装的所有包。

请问我应该如何做到这一点?新的3.8路径变量会替换3.7的吗?

对于这种常见情况来说,这个过程似乎有点复杂。我有什么遗漏吗?

0
0 Comments

问题的原因是在更新Python版本时,已安装的包会被删除,需要重新安装。解决方法是先将当前的包列表导出至文本文件,然后卸载Python 3.7,安装Python 3.8后,再通过命令行安装之前导出的包列表。

简单的解决方法是在CMD中执行以下命令:

pip freeze > packages.txt

这将把当前的所有包写入到名为'packages.txt'的文本文件中。

然后像卸载任何Windows程序一样卸载Python 3.7,然后安装Python 3.8,在CMD中执行以下命令:

pip install -r packages.txt

这将安装之前的所有包。

尽管我建议使用conda,因为它可以为您处理Python版本和包,还可以创建环境。

0
0 Comments

保留已安装的包升级Python的原因是为了解决版本兼容性问题,以及更好地管理环境和项目。

在许多Python开发项目中,目前的想法是根据每个项目的需求来指定版本和库。为了更好地管理环境和项目,推荐使用conda来管理环境。通过conda,您可以冻结环境,使其更具可移植性。您可以生成一个environment.yml文件,允许其他人从头开始重建您的环境,并且只需维护每个项目所需的包。

至于您最初的问题,您可以将PYTHONPATH设置为指向旧和新目录。但无法保证库将正常工作,因为可能存在版本兼容性问题。为了解决这个问题,推荐使用conda来管理环境和包,以免出现版本兼容性问题。

0
0 Comments

保留已安装的包在更新Python时是很有必要的。为了解决这个问题,可以通过以下步骤来实现:

首先,在旧的Python版本中运行以下命令,将已安装的包列表保存到一个文本文件中:

python3.7 -m pip freeze > installed.txt

然后,在安装新的Python版本后,使用以下命令来安装这些包:

python3.8 -m pip install -r installed.txt

然而,需要注意的是,你在旧的Python安装中安装的包可能与新版本不兼容。因此,更安全的做法是保留两个Python安装,并为每个项目使用虚拟环境。

你可以为每个项目创建一个虚拟环境,使用该项目所需的Python版本,并仅在该特定项目的虚拟环境中安装依赖项。通过这种方式,你可以避免出现这样的情况:项目A需要某个包的旧版本,而项目B需要更新版本。如果你在全局范围内安装所有包,那么就会遇到这样的问题。

虚拟环境是一个独立的Python运行环境,可以隔离不同项目的依赖关系。你可以在每个虚拟环境中安装特定版本的Python和包,而不会影响其他项目。这样,你就可以确保每个项目都使用其所需的特定环境,而不会受到其他项目的影响。

了解更多关于虚拟环境的信息,请参考What is a virtualenv, and why should I use one?

0