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

wmtdaxz3  于 2022-11-26  发布在  Python
关注(0)|答案(6)|浏览(381)

我有不同的venv在我的机器中,我有python 3.10。
现在,对于一个特定的项目,我意识到python 3.10并不适合,因为一些库仍然不兼容。因此,当为一个新项目创建一个新的venv时,我想将python降级,比如说降级到3.8,只针对这个特定的venv。
我该怎么做?我应该在终端上输入什么来做这个?
PS:我用VS和它的终端来创建venv

t1rydlwq

t1rydlwq1#

www.example.com推荐的方式python.org

从Python 3.5开始,管理虚拟环境的推荐方法是使用Python标准库本身中的venv模块。
来源:https://docs.python.org/3/library/venv.html#creating-virtual-environments
这与virtualenv不同,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库中获得。

velaa5lx

velaa5lx2#

我认为,隔离不同python版本的最佳方式是pyenv,可以使用pyenv-virtualenv来管理虚拟环境。
我认为这篇来自Real Python的文章很好地解释了如何管理不同的Python版本以及不同的虚拟环境。
对于后代,使用上面提到的工具,您可以执行以下操作(一旦安装了正确的Python版本)

pyenv virtualenv <python_version> <environment_name>

# Then activate it 

pyenv local <environment_name>

现在,您已经在文件夹中创建了一个虚拟环境,根据其文档,在您进入. VSCode should also pick it up文件夹时,它应该会被选中。
附言:我之所以认为这是一个好方法,是因为它允许你用一个工具来管理python版本和环境。每个版本只在一个地方安装一次,这应该会有所帮助,因为它降低了复杂性。

az31mfrm

az31mfrm3#

您可以同时安装多个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的虚拟环境。

flvtvl50

flvtvl504#

您可以使用“virtualenv”库来完成它。它可以使用命令pip install virtualenv安装
然后跟随命令virtualenv "name_of_your_environment" #no引号
然后使用以下代码激活您的venv"name_of_your_environment"\Scripts\activate #注意您必须位于创建env的目录中。
它的VS代码,但我更喜欢安装conda,然后创建env的conda提示符使用conda,以后你可以访问vs代码,它很容易激活该env从任何地方只需键入conda activate 'name_of_your_env'的vs终端

hgb9j2n6

hgb9j2n65#

你可以使用Python:

conda create -n mypython3.8 python=3.8
  • 只为你的炖汤里有足够的粥 *
3ks5zfa0

3ks5zfa06#

简单而现代

假设您的系统中安装了不同版本的Python。要检查,请使用以下命令进行检查:

> py --list
 -3.10-64 *
 -3.7-64

如果您想在'test_env'目录中为python 3.7创建一个新的虚拟环境,请运行以下命令:

> py -3.7 -m venv test_env

然后,通过在Windows PowerShell上运行以下命令来激活test_env:

> .\test_env\Scripts\Activate.ps1

或者Linux:

$ source test_env/bin/activate

检查:

python --version
Python 3.7.0

相关问题