如何为指定版本的Python创建虚拟环境?
当前回答
2020年底:
使用virtualenv最无缝的体验(附加的好处:任何可能的python版本)是使用pyenv及其(捆绑的)pyenv virtualenv插件(cfhttps://realpython.com/intro-to-pyenv/#virtual-环境和pyenv)
用法:pyenv virtualenv<python_version><environment_name>
安装:
首先检查您是否具备所有先决条件(取决于您的操作系统):https://github.com/pyenv/pyenv/wiki/Common-build-problems#prerequisites卷曲https://pyenv.run|巴什执行$SHELL
查阅https://github.com/pyenv/pyenv-installer
也就是说,现在代替使用virtualenv(和pip)的最佳选择是Poetry(以及上面指出的pyenv,以处理不同的python版本)。
另一个选项是Pipenv,因为它直接受到PyPA(pip和PyPI背后的组织)的支持,并且从5月底开始重新发布(在那之前,从2018年底就没有发布…)
其他回答
更简单的是,使用命令替换为您查找python2:
virtualenv-p$(哪个python2)<path/to/new/virtalenv/>
或者使用virtualvwrapper时:
mkvirtualenv-p$(哪个python2)<env_name>
是的,您只需要安装另一版本的python,并在命令中定义另一版本python的位置,如:
virtualenv/home/copayroll/Documents/env-p/usr/bin/python3
在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
这个问题的答案不应该那么复杂。。。
TL、DR:
在系统上安装您喜欢的python版本,并使用:
/c/path/to/any/version/of/python -m venv my_venv
============================================
我使用venv安装虚拟环境
python -m venv <where/to/and/name_of_venv>
如果您尝试使用哪一条python,当您说“python”时,就会看到您所指的是哪一条python。例如,对我来说,它是:
which python
结果:/c/程序文件/Python36/python
所以,现在你有答案了!您可以在系统上安装任何版本的python,同时安装多个版本。例如,我在以下目录中安装了Python3.7:“C:\Program Files\Python37”。因此,现在我不再使用“python”,而是通过/c/Program\Files\Python37/python指定哪个python:
/c/Program\ Files/Python37/python -m venv my_venv
(别忘了避开小路上的空隙)
就是这样!
UBUNTU 19.04/全局Python 3.7。
这对我很有用,使用推荐的venv为python3开发启用了Python3.8环境。
安装3.8和3.8 venv模块:$sudo apt install python3.8 python3.8-venv加上您需要的任何其他模块
使用您想要的python版本创建虚拟环境
$ /usr/bin/python3.8 -m venv python38-env
切换到虚拟环境
$ source python38-env/bin/activate
python -V = python 3.8
推荐文章
- 如何在Python中进行热编码?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔
- 我如何才能找到一个Python函数的参数的数量?
- 您可以使用生成器函数来做什么?
- 将Python诗歌与Docker集成
- 提取和保存视频帧
- 使用请求包时出现SSL InsecurePlatform错误
- 如何检索Pandas数据帧中的列数?
- except:和except的区别:
- 错误:“字典更新序列元素#0的长度为1;2是必需的”