Python虚拟环境virtualenv的安装与使用详解
前言
动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目可以在基于Python2的环境中运行,而项目B可以在基于Python3的环境中运行。Python通virtualenv工具管理虚拟环境。
安装virtualenv
$pipinstallvirtualenv
使用方法
$cdmy_project_folder $virtualenvvenv
执行完命令后它会在当前目录下创建文件夹,这个文件夹包含一些Python执行文件,以及pip副本,用于安装其他的packges。
. ├──bin │├──activate │├──activate.csh │├──activate.fish │├──activate_this.py │├──easy_install │├──easy_install-3.5 │├──pip │├──pip3 │├──pip3.5 │├──python->python3 │├──python3 │├──python3.5->python3 │└──wheel ├──include │└──python3.5m->/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m └──lib └──python3.5
此外在创建env的时候可以选择指定的Python解释器,例如下面是基于Python3创建的虚拟环境
$virtualenv-p/usr/local/bin/python3venv
默认情况下,虚拟环境会依赖系统环境中的sitepackages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数--no-site-packages建立虚拟环境
virtualenv--no-site-packages[虚拟环境名称]
激活虚拟环境
cdenv source./bin/activate
激活成功后,在命令行会显示虚拟环境的名称,类似((env)Your-Computer:your_projectUserName$)
退出虚拟环境
$deactivate
如果想删除虚拟环境,那么直接运行rm-rfvenv/命令即可。
在虚拟环境安装Pythonpackages
Virtualenv附带有pip安装工具,因此需要安装的packages可以直接运行:
pipinstall[套件名称]
如果没有启动虚拟环境,系统环境也安装了pip工具,那么packages将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:
exportPIP_REQUIRE_VIRTUALENV=true
如果在没开启虚拟环境时运行pip,就会提示错误:
Couldnotfindanactivatedvirtualenv(required).
Virtualenvwrapper
Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:
1.将所有虚拟环境整合在一个目录下
2.管理(新增,删除,复制)虚拟环境
3.切换虚拟环境
4....
安装Virtualenvwrapper
安装Virtualenvwrapper前需要virtualenv已近安装
$pipinstallvirtualenvwrapper
此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。
1、创建目录用来存放虚拟环境
mkdir$HOME/Envs
编辑~/.zshrc或~/.bashrc(根据你使用shell类型决定)
exportWORKON_HOME=$HOME/Envssource/usr/local/bin/virtualenvwrapper.sh3.运行:
$source~/.zshrc
此时virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:
1、列出虚拟环境列表
workon或者lsvirtualenv
新建虚拟环境
mkvirtualenv[虚拟环境名称]
2、启动/切换虚拟环境
workon[虚拟环境名称]
3、删除虚拟环境
rmvirtualenv[虚拟环境名称]
4、离开虚拟环境,和virutalenv一样的命令
deactivate
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家毛票票的支持。