我已经使用 python 3.6 创建了一个虚拟环境,然后我进行了系统升级,并且在系统范围内安装了 python 3.7。现在我无法在那个虚拟环境中执行 python 文件,因为它正在搜索 python 3.6。
如何升级 virtualenv python 版本以匹配系统范围的版本,或者如何降级该特定虚拟环境的 python 版本?
我正在使用manjaro。
我已经使用 python 3.6 创建了一个虚拟环境,然后我进行了系统升级,并且在系统范围内安装了 python 3.7。现在我无法在那个虚拟环境中执行 python 文件,因为它正在搜索 python 3.6。
如何升级 virtualenv python 版本以匹配系统范围的版本,或者如何降级该特定虚拟环境的 python 版本?
我正在使用manjaro。
编辑 1
做了一些测试,发现了另一种更“优雅”的方式来(至少)更新可执行文件。让我们假设虚拟环境最初是这样创建的
virtualenv -p /path/to/my/python2.7 .venv
。可执行文件可以更新为特定的 python 版本,如下所示virtualenv --clear -p /path/to/my/python3.6 .venv
:请验证中的python
符号链接.venv/bin/python
是否已使用ls -la .venv/bin/python
. 旧的可执行文件仍将位于./venv/bin/
.
注意:您需要安装特定目标版本的python。
请参阅此链接,它很好地解释了它。
Virtualenvwrapper 带有一些方便的命令来管理你的 virtualenvs。
要更改您的 Python 版本:
停用您当前的环境会话。
如果您安装了许多软件包或库,最好创建一个 requirements.txt 文件。记得根据需要编辑版本。
使用 wrapper 命令删除 virtualenv:rmvirtualenv
- 这将删除 virtualenv,但保留您的项目文件。
使用您想要的 Python 版本创建一个新的 virtualenv。
示例:mkvirtualenv -p python3 环境名称
您可以使用 -p 标志和版本指定 Python 版本。如果你有一个 requirements.txt 文件,你可以用 -r requirements.txt 指定它
现在将您的新 virtualenv 绑定到您的项目目录。您可以指定完整路径,但更容易激活新的 virtualenv 并位于项目目录中。然后,运行命令:
示例:setvirtualenvproject
请让我/我们知道这个答案是否对您有帮助!