我使用Python 3.6创建了一个虚拟环境,之后进行了系统升级,并安装了系统范围内的Python 3.7。现在我无法在该虚拟环境中执行Python文件,因为它正在寻找Python 3.6。
如何升级虚拟环境中的Python版本以匹配系统范围内的版本,或者如何降级特定虚拟环境中的Python版本?
我正在使用manjaro操作系统。
我使用Python 3.6创建了一个虚拟环境,之后进行了系统升级,并安装了系统范围内的Python 3.7。现在我无法在该虚拟环境中执行Python文件,因为它正在寻找Python 3.6。
如何升级虚拟环境中的Python版本以匹配系统范围内的版本,或者如何降级特定虚拟环境中的Python版本?
我正在使用manjaro操作系统。
编辑 1
进行了一些测试并找到了另一种更“优雅”的至少更新可执行文件的方法。假设虚拟环境最初是这样创建的virtualenv -p /path/to/my/python2.7 .venv
。可以通过以下方式将可执行文件更新为特定的Python版本:virtualenv --clear -p /path/to/my/python3.6 .venv
。请使用ls -la .venv/bin/python
验证.venv/bin/python
中的python
符号链接是否已更新。旧的可执行文件仍将位于./venv/bin/
中。
注意:您需要安装特定目标版本的Python。
请参阅此链接,该链接对其进行了很好的解释。
Virtualenvwrapper带有一些方便的命令来管理您的虚拟环境。
更改Python版本:
取消当前环境会话。
如果安装了许多软件包或库,则最好创建一个requirements.txt文件。必要时记得编辑版本。
使用包装程序命令删除虚拟环境:rmvirtualenv
- 这将删除虚拟环境,但保留您的项目文件。
使用想要的Python版本创建新的虚拟环境。
示例:mkvirtualenv -p python3 环境名称
您可以使用-p标志和版本指定Python版本,如果您有一个requirements.txt文件,可以使用-r requirements.txt来指定它。
现在将新的虚拟环境绑定到您的项目目录。您可以指定完整路径,但是更容易激活新的虚拟环境并在您的项目目录中运行该命令:
示例:setvirtualenvproject
请告诉我/我们,这个答案是否对您有帮助!
requirements.txt
文件的能力(如果这不是真的,请解释如何做到这一点); (2)这似乎是“粉碎旧的虚拟环境并重新构建它”的答案,这是一个相当不令人满意的答案。 - Robert P. Goldmanrequirements.txt
是个好主意。我尝试了一些方法但失败了。所以,我必须重新构建一个新的 venv 并导入requirements.txt
。 - Allis Gao