如何为指定版本的Python创建虚拟环境?


当前回答

virtualenv -p python3 myenv

创建virtualenv的链接

其他回答

对于Mac(High Sierra),在python3上安装virtualenv并为python2创建virtualenv:

 $ python3 -m pip install virtualenv
 $ python3 -m virtualenv --python=python2 vp27
 $ source vp27/bin/activate
 (vp27)$ python --version
 Python 2.7.14

〔2019年11月〕我需要在基于Python 3.8的Arch Linux系统上安装Python 3.7环境(env)。Python 3.7已不在系统中,因此我无法降级Python,以安装所需的包。

此外,我想在虚拟环境(venv)中使用该包/Python3.7。我就是这样做的。


下载Python版本源文件:

我从

https://www.python.org/downloads/source/

to

/mnt/Vancouver/apps/python_versions/src/python-3.7.4.tgz

然后,我将存档(源文件)提取到

/mnt/Vancouver/apps/python_versions/src/python-3.7.4/


安装:

[注:在我的系统env中,不是venv。]

cd /mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
time ./configure                 ## 17 sec
time make                        ## 1 min 51 sec
time sudo make install           ## 18 sec
time make clean                  ## 0.3 sec

检查已安装的Python版本:

$ which python
/usr/bin/python

$ python --version
Python 3.8.0

$ which python3.7
/usr/local/bin/python3.7

$ python    ## Python 3.8 [system / env]
Python 3.8.0 (default, Oct 23 2019, 18:51:26) 
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

$ python3.7    ## newly-installed Python 3.7 package
Python 3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0]
>>>

$ python3.7 --version                                                                                                 
Python 3.7.4

如何为特定的Python版本创建venv:

https://docs.python.org/3/tutorial/venv.html12.2.创建虚拟环境用于创建和管理虚拟环境的模块称为venv。venv通常会安装您可用的最新版本的Python。如果您的系统上有多个版本的Python,则可以通过运行python3或您想要的任何版本来选择特定的Python版本。要创建虚拟环境,请确定要放置虚拟环境的目录,并以脚本的形式运行venv模块,路径如下:python3-m venv教程env这将创建教程env目录(如果它不存在),并在其中创建包含Python解释器副本、标准库和各种支持文件的目录。...


创建Python 3.7 venv[在Python 3.8操作环境/系统上]:

python3.7 -m venv ~/venv/py3.7      ## create Python 3.7-based venv
source ~/venv/py3.7/bin/activate    ## activate that venv
deactivate                          ## deactivate that venv (when done, there)

添加到~/.bashrc:

alias p37='echo "   [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'

测试Python 3.7 venv:

$ p37                                                                                                                 
[Python 3.7 venv (source ~/venv/py3.7/bin/activate)]

(py3.7)$ python --version
Python 3.7.4

(py3.7)$ python
Python 3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0] 
>>>

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问题。

这个问题的答案不应该那么复杂。。。

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

(别忘了避开小路上的空隙)

就是这样!

我使用pyenv来管理我的python版本。

pyenv install 3.7.3
pyenv local 3.7.3

检查您的python版本:

$ python --version
Python 3.7.3

使用venv创建虚拟环境:

python -m venv .

然后激活虚拟环境:

source bin/activate

检查您的python版本:

$ python --version
Python 3.7.3

您可能需要删除以前的虚拟环境

rm -rf bin