python virtualenv的使用简记
环境,windows10,python3.8
安装virtualenv
pip install virtualenv
为了方便管理虚拟环境,安装个virtualenvwrapper-win,Linux系统下不需要后缀win
pip install virtualenvwrapper-win
以下简称wrapper
当然没有wrapper也可以使用,学习virtualenv的原始命令即可
注意分清下面提到的命令是wrapper还是virtualenv的,这有助于思路清晰
说明
在python安装目录的scripts目录下会出现一些bat和exe文件
wrapper会基于virtualenv创建工具文件,调用virtualenv的程序文件,比如wrapper的workon就是使用了virtualenv的activate程序
如:D:\python_3_8_amd64\Scripts
文件:
mkvirtualenv.bat wrapper的创建虚拟环境的方式 用法见最后
rmvirtualenv.bat 删除虚拟环境 用法:+环境名(文件夹名)即可
workon.bat 切换,查看虚拟环境
等等工具文件
mkvirtualenv.bat用于创建虚拟环境,打开查看代码,wrapper的工具文件
文件片段截取如下:
@echo off
:: Create a new environment, in the WORKON_HOME.
::
:: Syntax:
::
:: mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] %venvwrapper.envname%
::
:: All command line options except -a, -i, -r, and -h are passed directly
:: to virtualenv. The new environment is automatically activated after being
:: initialized.
创建的虚拟环境会在WORK_HOME变量定义的文件夹下
系统变量新建一个WORK_HOME变量,设置好虚拟环境的文件夹,使用mkvirtualenv创建的环境
就会在这个目录下,可以使用workon进行切换
创建方法:
mkvirtualenv 虚拟环境名,这是wrapper的创建方式
设置好的默认虚拟环境目录下就会出现一个文件夹,里面包含python环境以及附带的第三方的库和scripts文件夹等工具文件(创建完成后会激活该环境,此时的python pip等命令就是该虚拟环境下的命令,激活环境时命令行最前面会有环境提示字)多数命令就在这个文件夹下,activate deactivate等virtualenv的原生命令,可以附带--system-site-packages
参数去掉第三方库的复制,而--no-site-packages
命令已经过时
-p可以指定使用哪一个版本的python
activate文件会设置一些环境变量以达到进入虚拟环境的状态,执行该脚本即可激活该环境,文件中的代码片段截取如下:
set "VIRTUAL_ENV=D:\py_virtualenv_envs\bokeyuan"
if defined _OLD_VIRTUAL_PROMPT (
set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
) else (
if not defined PROMPT (
set "PROMPT=$P$G"
)
if not defined VIRTUAL_ENV_DISABLE_PROMPT (
set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
)
)
workon即是调用activate脚本实现的