如何使用不同的 python 版本创建 venv

新手上路,请多包涵

我的机器中有不同的 venvs,其中有 python 3.10。

现在对于一个特定的项目,我意识到 python 3.10 不适合,因为一些库仍然不兼容。因此,在为新项目创建新的 venv 时,我想降级 python,比如降级到 3.8,仅针对这个特定的 venv。

我怎样才能做到这一点?我应该在终端上输入什么来做到这一点?

PS:我使用VS及其终端来创建venv

原文由 Dark2018 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

您可以同时安装多个 python 版本,您可以创建具有所需版本的虚拟环境。确保已安装所需的 python 版本,然后在创建虚拟环境时指定其位置:

 virtualenv -p <path-to-new-python-installation> <new-venv-name>

例子:

 virtualenv -p  C:\Users\ssharma\AppData\Local\Programs\Python\Python38\python.exe venv38

这将使用 Python 3.8 创建一个名为 venv38 的虚拟环境。

原文由 Dan Constantinescu 发布,翻译遵循 CC BY-SA 4.0 许可协议

python.org推荐的方式

自 Python 3.5 以来,推荐的管理虚拟环境的方法是使用 Python 标准库本身中的 venv 模块。

来源: https ://docs.python.org/3/library/venv.html#creating-virtual-environments

这与 virtualenv ,后者是 Python 标准库之外的第三方包。

来源: https ://pypi.org/project/virtualenv/

降级(和升级)是危险的

根据您的系统本身是否使用 Python,更改系统 Python 版本可能会对系统稳定性造成危险。您的系统可能恰好需要该版本的 Python。 Ubuntu 就是如此。

安装另一个版本的 Python

比降级或升级更安全的是在同一系统上安装其他版本的 Python。

例如,在 Ubuntu 20.04 中,安装 Python 3.9:

 # Update package lists
me@mydevice:~$ sudo apt update

# Add the deadsnakes repository
me@mydevice:~$ sudo add-apt-repository ppa:deadsnakes/ppa

# Install Python 3.9
me@mydevice:~$ sudo apt install python3.9

安装venv包并创建venv虚拟环境

# Install the venv package for Python 3.9
me@mydevice:~$ sudo apt install python3.9-venv

# Make a folder for venv virtual environments
me@mydevice:~$ mkdir ~/.venvs

# Create a new venv virtual environment with Python 3.9 in it
me@mydevice:~$ python3.9 -m venv ~/.venvs/my-venv-name

# Activate the new venv
me@mydevice:~$ source ~/.venvs/my-venv-name/bin/activate
(my-venv-name) me@mydevice:~$

检查 venv 虚拟环境中的版本

# Check the Python version inside the venv:
(my-venv-name) me@mydevice:~$ python -V
Python 3.9.9

# Check the Pip version inside the venv:
(my-venv-name) me@mydevice:~$ pip3 --version
pip 21.2.4 from /home/me/.venvs/my-venv-name/lib/python3.9/site-packages/pip (python 3.9)

停用 venv 虚拟环境

(my-venv-name) me@mydevice:~$ deactivate
me@mydevice:~$

检查任何虚拟环境之外的版本

# Check Python version:
me@mydevice:~$ python -V
Python 3.8.10

# Check the Pip version:
me@mydevice:~$ pip3 --version
pip 20.0.2 from /home/me/.venvs/my-venv-name/lib/python3.8/site-packages/pip (python 3.8)

安装更多 Python 版本

要安装更多 Python 版本,只需将版本号从 3.9 更改为您选择的任何版本,该版本可从 deadsnakes 存储库中获得。

原文由 Emil Carpenter 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进