说明

配置过程

  • Windows 系统中已经安装了Python 2.7.10 和 Python 3.5.0。

  • 升级 Python 2 中的 pip 和 setuptools。

    • pip install -U pip

    • pip install -U setuptools

  • 升级 Python 3 中的 pip 和 setuptools。

    • pip3 install -U pip

      注意:此命令升级的是 Python 3 中的 pip。

    • pip3 install -U setuptools

  • 这样,现在具体的 Python 环境如下:

    1
    2
    3
    4
    pip list
    DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
    pip (9.0.1)
    setuptools (28.8.0)
    1
    2
    3
    4
    pip3 list
    DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
    pip (9.0.1)
    setuptools (28.8.0)
  • 添加新的用户环境变量。

    WORKON_HOME=D:\Envs

    这样将会把所有的虚拟环境都放到 D:\Envs 目录下。

  • pip install virtualenvwrapper-win

  • 建立 Python 2 的虚拟环境。

    mkvirtualenv.bat python2_general

  • 建立 Python 3 的虚拟环境。

    mkvirtualenv.bat -p "C:\Users\Alex\AppData\Local\Programs\Python\Python35\python.exe" you-get

    在这样的 Python 3 虚拟环境中,可以直接使用 pip 来安装以前需要使用 pip3 来进行安装的包,例如:

    pip install you-get

  • 切换到某个虚拟环境。

    workon you-get

  • 删除某个虚拟环境。

    rmvirtualenv.bat you-get

    这样删除后,自己查看一下目录是否仍存在,如果仍然存在,然后再手动删除。

参考文献

  • virtualenvwrapper 4.7.2 : Python Package Index

  • virtualenvwrapper documentation

  • virtualenv Command

    1
    2
    3
    -p PYTHON_EXE, --python=PYTHON_EXE
    The Python interpreter to use, e.g., –python=python2.5 will use the python2.5 interpreter to create the new environment. The default is the interpreter that virtualenv was installed with (like /usr/bin/python)
  • virtualenvwrapper-win/scripts/mkvirtualenv.bat

    1
    2
    3
    4
    5
    6
    7
    8
    9
    pushd "%WORKON_HOME%"
    REM As of Python 2.7, calling virtualenv.exe causes a new window to open,
    REM so call the script directly
    REM recent versions of virtualenv does not contain virtualenv-script.py..
    if exist "%PYHOME%\Scripts\virtualenv-script.py" (
    python.exe "%PYHOME%\Scripts\virtualenv-script.py" %ARGS%
    ) else (
    virtualenv.exe %ARGS%
    )

    通过上述代码,得知 virtualenvwrapper 调用的是 virtualenv.exe,当然就支持 virtualenv 的参数啦,而 virtualenv 恰好有一个 -p 的参数。