如何为指定版本的Python创建虚拟环境?
当前回答
假设您当前在virtualenv中安装了python 2.7。但要使用python3.2,您必须使用以下内容进行更新:
$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv
然后通过以下方式激活virtualenv:
$ source activate name_of_your_virtualenv
然后执行:python——shell中的版本,以检查您的版本现在是否已更新。
其他回答
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年底就没有发布…)
在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
(别忘了避开小路上的空隙)
就是这样!
简单:
Linux系统
virtualenv venv --python=/usr/bin/python3.9
窗户
virtualenv venv --python=C:\Users\username\AppData\Local\Programs\Python\Python\python.exe
在我的Windows下,这是有效的:
virtualenv --python=c:\Python25\python.exe envname
没有python.exe,我得到了Windows错误:[错误5]访问被拒绝我用virtualenv1.6.1安装了Python2.7.1,我想要Python2.5。
推荐文章
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块