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


当前回答

我使用Windows,所以应该在pthon路径上使用.exe

virtualenv -p=C:\Python27\python2.exe <envname>

其他回答

对于2019年的Debian(Debian 9)系统,我发现了一个简单的解决方案,可以从虚拟环境中解决问题。

假设虚拟环境是通过以下方式创建的:

python3.7 -m venv myenv

但只有python2和python2.7的版本,您需要python3.7的最新功能。

然后,只需运行以下命令:

(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/

如果您的系统上已经有python3.7包,则将添加这些包。

以下是如何在Visual Studio Code文件夹中创建虚拟环境的步骤:我使用了Powershell(管理员模式):1.我创建了一个VSCode文件夹-“D:\Code_Python_VE”,希望在其中创建虚拟环境。2.接下来,我键入命令-“pip3 install virtualenv”。(D:\Code_Python_VE>pip3安装virtualenv)3.D:\Code_Python_VE>python3-m venv项目_env4.D:\Code_Python_VE>project_env\Scripts\activate.bat5.D:\Code_Python_VE>ls-这将列出一个新目录“project_env”。6.D:\Code_Python_VE>代码。这将启动Visual Studio代码。确保命令为(code.)。7.使用以下内容创建launch.jason:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "python",
            "request": "launch",
            "name": "Python: Current File (Integrated Terminal 1)",
            "program": "${file}"
        },
        {
            "name": "Python: Current File (Integrated Terminal 2)",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

(请搜索如何转到“调试”窗口并在VS代码中添加新配置)。

在Visual studio代码中按F1,命令托盘将打开-选择Python解释器并选择虚拟环境project_env。添加带有一个语句打印的test.py文件(“Hello World”)。运行此程序。在Visual studio代码终端中-(project_env)d:\Code_Python_VE>Python-m pip安装--升级我希望这有帮助。

假设我想使用python 3.8,而我使用的是MacOS。

brew install python@3.8

然后

python3.8 -m venv venv

这两个命令应该可以正常工作。

virtualenv-p python2 myenv(用于python2)

virtualenv-p python3 myenv(用于python2)

Mac OSX 10.6.8(雪豹):

1) 当您执行pipinstallvirtualenv时,pip命令与您的一个python版本相关联,virtualenv将安装到该版本的python中。你可以的

 $ which pip   

看看这是什么版本的python。如果您看到以下内容:

 $ which pip
 /usr/local/bin/pip

则执行以下操作:

$ ls -al /usr/local/bin/pip
lrwxrwxr-x  1 root  admin  65 Apr 10  2015 /usr/local/bin/pip ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip

您可以在输出中看到python版本。

默认情况下,这将是用于您创建的任何新环境的python版本。但是,您可以使用-p标志指定计算机上安装的任何版本的python,以便在新环境中使用:

$ virtualenv -p python3.2 my_env  
Running virtualenv with interpreter /usr/local/bin/python3.2  
New python executable in my_env/bin/python  
Installing setuptools, pip...done.  

virtualenvmy_env将在当前目录中创建一个文件夹将包含Python可执行文件和pip的副本[command],可用于安装其他软件包。

http://docs.python-guide.org/en/latest/dev/virtualenvs/

virtualenv只是将python从计算机上的某个位置复制到新创建的myenv/bin/目录中。

2) 系统python位于/usr/bin中,而我安装的各种python版本默认安装在:

 /usr/local/bin

3) 我安装的各种蟒蛇都有类似于python2.7或python2.2的名称,我可以使用这些名称而不是完整路径。

==========虚拟说唱歌手=========

1) 我在让虚拟说唱歌手工作时遇到了一些问题。这就是我最后放入~/.bash_profile的内容:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/django_projects  #Not very important -- mkproject command uses this
#Added the following based on: 
#http://stackoverflow.com/questions/19665327/virtualenvwrapper-installation-snow-leopard-python
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 
#source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

2) -p选项与virtualenvwrapper的工作方式不同:我必须指定要在新环境中使用的python解释器的完整路径(当我不想使用默认python版本时):

$ mkvirtualenv -p /usr/local/bin/python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3
New python executable in my_env/bin/python
Installing setuptools, pip...done.
Usage: source deactivate

removes the 'bin' directory of the environment activated with 'source
activate' from PATH. 

与virtualenv不同,virtualenvwrapper将在$WORKON_HOME环境变量指定的位置创建环境。这将使您的所有环境保持在一个位置。