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脚本实现的

posted @ 2020-09-01 18:03  ecnu_lxz  阅读(443)  评论(0编辑  收藏  举报