如何为指定版本的Python创建虚拟环境?
当前回答
这些对于Windows来说似乎有点过于复杂。如果您在运行python 3.3或更高版本的Windows上,可以使用python启动器py更轻松地执行此操作。只需安装不同的python版本,然后运行:
py -[my version] -m venv env
这将使用python[我的版本]在当前目录中创建一个名为env的虚拟环境。例如:
py -3.7 -m venv env
./env/Scripts/activate
这将使用python3.7创建一个名为env的虚拟环境并激活它。不需要路径或其他复杂的东西。
其他回答
简单:
Linux系统
virtualenv venv --python=/usr/bin/python3.9
窗户
virtualenv venv --python=C:\Users\username\AppData\Local\Programs\Python\Python\python.exe
您可以使用所需的python版本调用virtualenv。例如:
python3 -m virtualenv venv
或者直接指向虚拟路径。例如,对于窗口:
c:\Python34\Scripts\virtualenv.exe venv
通过运行:
venv/bin/python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
您可以看到安装在虚拟环境中的python版本
sudo添加apt存储库ppa:死蛇/ppa
sudo apt更新
sudo apt install python_version(例如:sudo apt-install python3.8)
python_version-m venv env(例如:python3.8-m venv nv)
.env/bin/activate
以上步骤将解决python版本的env问题。
注意:对于Python 3.3+,请参阅下面Aelfin的答案。
在创建virtualenv实例时,使用--python(或short-p)选项指定要使用的python可执行文件,例如:
virtualenv --python="/usr/bin/python2.6" "/path/to/new/virtualenv/"
当您在共享托管环境中,需要从源代码安装和编译Python,然后从Python版本创建venv时,可以遵循以下步骤。对于Python 2.7.9。你会按照以下思路做一些事情:
mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install
虚拟环境
cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate
当然,这可以适用于任何您想要复制您工作和部署的环境的情况。
推荐文章
- 如何在Python中进行热编码?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔
- 我如何才能找到一个Python函数的参数的数量?
- 您可以使用生成器函数来做什么?
- 将Python诗歌与Docker集成
- 提取和保存视频帧
- 使用请求包时出现SSL InsecurePlatform错误
- 如何检索Pandas数据帧中的列数?
- except:和except的区别:
- 错误:“字典更新序列元素#0的长度为1;2是必需的”