10

我已经使用 python 3.6 创建了一个虚拟环境,然后我进行了系统升级,并且在系统范围内安装了 python 3.7。现在我无法在那个虚拟环境中执行 python 文件,因为它正在搜索 python 3.6。

如何升级 virtualenv python 版本以匹配系统范围的版本,或者如何降级该特定虚拟环境的 python 版本?

我正在使用manjaro。

4

1 回答 1

12

编辑 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 版本:

  1. 停用您当前的环境会话。

  2. 如果您安装了许多软件包或库,最好创建一个 requirements.txt 文件。记得根据需要编辑版本。

  3. 使用 wrapper 命令删除 virtualenv:rmvirtualenv

    • 这将删除 virtualenv,但保留您的项目文件。
  4. 使用您想要的 Python 版本创建一个新的 virtualenv。

    • 示例:mkvirtualenv -p python3 环境名称

    • 您可以使用 -p 标志和版本指定 Python 版本。如果你有一个 requirements.txt 文件,你可以用 -r requirements.txt 指定它

  5. 现在将您的新 virtualenv 绑定到您的项目目录。您可以指定完整路径,但更容易激活新的 virtualenv 并位于项目目录中。然后,运行命令:

示例:setvirtualenvproject

请让我/我们知道这个答案是否对您有帮助!

于 2018-08-19T07:36:53.433 回答