Python: 如何在 pyenv-virtual-environment 中更新 python 版本?

Python: How can I update python version in pyenv-virtual-environment?

我使用 pyenvpyenv-virtualenv 来管理 python 虚拟环境。

我有一个项目在 Python 3.4 虚拟环境中工作。

因此所有已安装的软件包(pandasnumpy 等)都不是最新版本。

我要做的是将 Python 版本从 3.4 升级到 3.6 以及将其他软件包版本升级到更高版本。

我怎样才能轻松做到这一点?

如果你使用anaconda,只需输入

conda 安装python==$python版本$

使用 pip freeze > requirements.txt 保存已安装包的列表。

使用 python 3.6.

创建一个新的 venv

使用 pip install -r requirements.txt 安装保存的包。当 pip 在其缓存中找到万向轮时,它会从缓存中安装包。将下载、缓存、构建和安装其他包。

这是我从 3.9.0a5 切换到 3.9.0 的方式:

$ pip freeze > requirements-lock.txt
$ pyenv virtualenv-delete a-virtualenv-name
$ pyenv virtualenv 3.9.0 a-virtualenv-name
$ pip install -r requirements-lock.txt
$ rm requirements-lock.txt

使用 pip freeze > requirements.txt 通常不是一个好主意 因为此文件通常用于处理您的包要求(not necessarily pip freeze 输出).最好使用不同的(临时)文件以确保安全。