Python杂谈之虚拟环境
为什么需要虚拟环境?
1.辛辛苦苦写好一个项目,各种版本的第三方组件,凌乱的配置文件,在自己电脑上运行的十分流畅,想分享给同事使用,,,迁移过去之后,重建配置,各种跑不起来。
2.一些比较特殊的工具需要依托于不同的Python版本,就像 robotframework,仅仅支持Python 2.7和>= 3.6。
3.第三方库的管理,打包的时候避免有其他干扰的包。
4.等等
1.Python的虚拟环境方式
第一种.virtualenv
虚拟环境创建在当前目录下,所以每次启动都需要到虚拟环境所在的目录
-
pip install virtualenv
PS E:\Env> virtualenv demo ###创建虚拟环境 virtualenv 虚拟环境的名字(默认在当前路径)
created virtual environment CPython3.6.8.final.0-64 in 534ms
creator CPython3Windows(dest=E:\Env\demo, clear=False, global=False)###创建虚拟环境
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\ixixi\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1)
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
PS E:\Env> ls
目录: E:\Env
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/5/9 0:25 demo ###创建好的虚拟环境目录
PS E:\Env\demo> ls ###查看虚拟环境内的目录
目录: E:\Env\demo
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/5/9 0:25 Lib
d----- 2020/5/9 0:25 Scripts
-a---- 2020/5/9 0:25 405 pyvenv.cfg
PS E:\Env> cd .\demo\Scripts\ ###进入到虚拟环境内
PS E:\Env\demo\Scripts> .\activate.bat ###启动虚拟环境
PS E:\Env\demo\Scripts> .\deactivate.bat ###停止虚拟环境
第二种.virtualenvwrapper
virtualenv的虚拟环境管理方式注定了启动虚拟环境的时候需要找到虚
拟环境所在的目录,但是,如果文档管理不规范,就会导致虚拟环境目录找不到的情况,所以就需要一个管理虚拟环境的工具,于是就有了virtualenvwrapper
-
pip install virtualenvwrapper 会在当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下
- 修改默认路径
- 在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。
PS E:\> mkvirtualenv demo01 ###创建虚拟环境 created virtual environment CPython3.6.8.final.0-64 in 399ms
creator CPython3Windows(dest=E:\Env\demo01, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\ixixi\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1)
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
PS E:\> lsvirtualenv ###查看虚拟环境
dir /b /ad "E:\Env"
==============================================================================
demo
demo01
PS E:\> rmvirtualenv demo01 ###删除虚拟环境
Deleted E:\Env\demo01
PS E:\> lsvirtualenv ###查看虚拟环境
dir /b /ad "E:\Env"
==============================================================================
demo
古人云: 不谋万世者,不足谋一时;不谋全局者,不足谋一域!
测试想做好质量把控,就要能一条龙服务啊