如何为指定版本的Python创建虚拟环境?
当前回答
在Linux Ubuntu 21.04(当前为Python 3.9.5)上,我需要获得Python 3.7.8的虚拟版本。开始工作的完整步骤:
查找所需的Python版本源代码,例如3.7.8在这里:https://www.python.org/downloads/release/python-378/
下载Gzipped源代码tarball
使用tar zxvf Python-3.0.8.tgz解压缩(如果与3.7.8不同,请根据需要修改版本号)
使用以下命令将解压缩的文件夹复制到/usr/bin:sudo cp-r Python-3.78/usr/bin
cd /usr/bin/Python-3.7.8/
如果您想了解目前的内容,请检查内容:ls
sudo time ./configure
sudo time make
time sudo make install
time make clean
检查python的设置和报告方式:
which python
python --version
应该都与您的主要安装有关(Python 3.9.5适用于我)
要检查新安装,请执行以下操作:
which python 3.7
python3.7 --version
应与3.7.8安装相关
如果要运行它进行检查,请执行以下操作:
python3.7
exit()
安装供应商:
sudo apt install venv
要创建venv(可能在您的repo中,如果是,请将.venv添加到.gitignore中):
python3.7 -m venv .venv
要激活您的venv:
source .venv/bin/activate
检查您的版本:
python --version
其他回答
简单:
Linux系统
virtualenv venv --python=/usr/bin/python3.9
窗户
virtualenv venv --python=C:\Users\username\AppData\Local\Programs\Python\Python\python.exe
仅适用于windows
在电脑中安装特定版本的python转到要创建虚拟环境的目录在文件资源管理器的位置栏中键入cmd并按enter键在cmd类型->pip上安装virtualenv然后在cmd中键入以下命令,使用virtualenv库创建虚拟env。->virtualenv-p=“C:\location of python\python.exe”<virtualenv_name>
注意:对于Python 3.3+,请参阅下面Aelfin的答案。
在创建virtualenv实例时,使用--python(或short-p)选项指定要使用的python可执行文件,例如:
virtualenv --python="/usr/bin/python2.6" "/path/to/new/virtualenv/"
在mac上,我使用pyenv和virtualnvwrapper。我必须创造一个新的虚拟世界。你需要自制程序,如果你在mac上,我会假设你已经安装了,但只是为了好玩:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
我还冻结了我的需求,这样我就可以简单地在新的virtualenv中重新安装:
pip install -r requirements.txt
-p方法运行良好,但您必须记住每次都使用它。如果您的目标是切换到较新版本的Python,这是一个痛苦,也可能导致错误。
您的另一个选项是设置一个环境变量,该变量的作用与-p相同。通过~/.bashrc文件或管理登录会话的环境变量的任何位置设置:
export VIRTUALENV_PYTHON=/path/to/desired/version
然后,每当您不在命令行上指定-p时,virtualenv就会使用它。
推荐文章
- 如何在Python中进行热编码?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔
- 我如何才能找到一个Python函数的参数的数量?
- 您可以使用生成器函数来做什么?
- 将Python诗歌与Docker集成
- 提取和保存视频帧
- 使用请求包时出现SSL InsecurePlatform错误
- 如何检索Pandas数据帧中的列数?
- except:和except的区别:
- 错误:“字典更新序列元素#0的长度为1;2是必需的”