如何创建具有不同 python 版本的 venv
how to create a venv with a different python version
我的机器中有不同的 venvs python 3.10.
现在对于一个特定的项目,我意识到 python 3.10 不适合,因为一些库仍然不兼容。因此,当为一个新项目创建一个新的 venv 时,我想降级 python,比如说降级到 3.8,只针对这个特定的 venv。
我该怎么做?
我应该在终端上输入什么来执行此操作?
PS: 我用VS及其终端创建venv
您可以同时安装多个 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
的虚拟环境
您可以使用“virtualenv”库来完成。可以使用命令 pip install virtualenv
安装
然后是命令
virtualenv "name_of_your_environment"
#没有引号
然后使用下面的代码激活你的venv
"name_of_your_environment"\Scripts\activate
#注意你必须在你创建环境的目录中。
它适用于 VS CODE,但我更喜欢安装 conda,然后使用 conda 在 conda 提示符下创建 env,稍后您可以访问 vs 代码,并且很容易从任何地方激活该 env,只需在 vs 上键入 conda activate 'name_of_your_env'
航站楼
我认为单独使用不同 python 版本的最佳方法是 pyenv, managing virtual environments can be done with pyenv-virtualenv。
我认为 this article from Real Python 很好地解释了如何管理不同的 python 版本以及不同的虚拟环境。
对于后代,使用上述工具,您可以执行以下操作(安装正确的 python 版本后)
pyenv virtualenv <python_version> <environment_name>
# Then activate it
pyenv local <environment_name>
现在您已经在该文件夹中创建了一个虚拟环境,您每次进入该文件夹时都应该会选择它。 VSCode should also pick it up,根据其文档。
P.S:我认为这是一个好方法的原因是它允许您使用单个工具管理 python 版本和环境。每个版本只在一个地方安装一次,这应该有所帮助,因为它降低了复杂性。
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 的其他版本。
比如在Ubuntu20.04,要安装Python3.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 存储库中获得。
你可以使用anaconda:
conda create -n mypython3.8 python=3.8
只为了你炖的粥够多
我的机器中有不同的 venvs python 3.10.
现在对于一个特定的项目,我意识到 python 3.10 不适合,因为一些库仍然不兼容。因此,当为一个新项目创建一个新的 venv 时,我想降级 python,比如说降级到 3.8,只针对这个特定的 venv。
我该怎么做? 我应该在终端上输入什么来执行此操作?
PS: 我用VS及其终端创建venv
您可以同时安装多个 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
的虚拟环境
您可以使用“virtualenv”库来完成。可以使用命令 pip install virtualenv
然后是命令
virtualenv "name_of_your_environment"
#没有引号
然后使用下面的代码激活你的venv
"name_of_your_environment"\Scripts\activate
#注意你必须在你创建环境的目录中。
它适用于 VS CODE,但我更喜欢安装 conda,然后使用 conda 在 conda 提示符下创建 env,稍后您可以访问 vs 代码,并且很容易从任何地方激活该 env,只需在 vs 上键入 conda activate 'name_of_your_env'
航站楼
我认为单独使用不同 python 版本的最佳方法是 pyenv, managing virtual environments can be done with pyenv-virtualenv。
我认为 this article from Real Python 很好地解释了如何管理不同的 python 版本以及不同的虚拟环境。
对于后代,使用上述工具,您可以执行以下操作(安装正确的 python 版本后)
pyenv virtualenv <python_version> <environment_name>
# Then activate it
pyenv local <environment_name>
现在您已经在该文件夹中创建了一个虚拟环境,您每次进入该文件夹时都应该会选择它。 VSCode should also pick it up,根据其文档。
P.S:我认为这是一个好方法的原因是它允许您使用单个工具管理 python 版本和环境。每个版本只在一个地方安装一次,这应该有所帮助,因为它降低了复杂性。
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 的其他版本。
比如在Ubuntu20.04,要安装Python3.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 存储库中获得。
你可以使用anaconda:
conda create -n mypython3.8 python=3.8
只为了你炖的粥够多