博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VirtualEnv 和Pip 构建Python的虚拟工作环境
阅读量:6707 次
发布时间:2019-06-25

本文共 1623 字,大约阅读时间需要 5 分钟。

(这是打算写的这个系列  的第一篇,我不会太监,毕竟这些内容本来在公司内部或多或少就会有整理,不过工作本身忙,进度快慢不能保证,各位谅解)

一 般而言,所有python相关的包会装在系统目录里,譬如/usr/lib/ 或者/usr/local/lib/,这样的话,假设两个开发分支要求的库不一样,譬如对应在线版本的开发环境使用 Django1.3,但是一个新的开发分支基于Django1.4,两者就会互相影响。
Virtualenv 是一个虚拟环境程序,可以把开发环境隔离。基本思想是建立不同的环境目录,其中装有独立的各类包,甚至也可以是独立的不同版本python程序。
1. 安装 virtualenv 和 virtualenvwrapper,后者是一套很有用的扩展,提供了方便切换开发环境的快捷命令
以下命令都是基于Ubuntu的(Mac OS 上可以参考  )
sudo pip install virtualenv
sudo pip install virtualenvwrapper
#2 在用户的home目录下创建一个名为product的虚拟环境
export WORKON_HOME=~/envs
mkdir $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv --no-site-packages product #--no-site-packages 参数代表所有的Python包都从虚拟环境里找,任何时候都不去例如/usr/lib/python/这类全局环境里查找

初期用virtualenv的时候的确不需要系统的安装包,即创建一个裸环境,可以使用这个参数。

这 步完成后,就建立了一个名为product的虚拟环境目录,用workon product便能切换这个环境下,所谓切换,就是说这时候如果执行which python,就会发现现在的python不是/usr/bin/python,而是~/envs/product/bin/python,相应的所有的 第三方python依赖也都在~/envs/product/lib/python2.7/site-packages/ 下。
#3 为了偷懒,可以在bashrc里建立一个alias,譬如
alias product='source ~/.bashrc; workon product; cd ~/envs/product/src'
alias stage='source ~/.bashrc; workon stage; cd ~/envs/stage/src'
这样执行product,stage就能分别切换到相应的虚拟工作环境,同时进入工作目录。
#4 未来要装相应的库,直接用pip即可,但是要确保pip也是相应的虚拟环境里的,可以用which pip检查,譬如要装django,就可以用
pip install django
pip也可以列出当前虚拟环境里所有的依赖,可以用这个办法将所有这些依赖写入一个文件,例如
pip freeze > product.dev     ##导出已安装的包列表
如果在另外一个环境里要重新安装这些依赖,执行
pip install -r product.dev
即可

备注:virtualenvwrapper的使用:

列出虚拟环境列表

workon

也可以使用

lsvirtualenv

新建虚拟环境

mkvirtualenv [虚拟环境名称]

启动/切换虚拟环境

workon [虚拟环境名称]

删除虚拟环境

rmvirtualenv [虚拟环境名称]

离开虚拟环境

deactivate
      本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1597898,如需转载请自行联系原作者
你可能感兴趣的文章
nginx.conf配置文件详解:
查看>>
JSch - Java实现的SFTP(文件上传详解篇)
查看>>
配置postgreSQL允许外部连接
查看>>
InfoPath 2007 Essential Training字幕-001
查看>>
我的友情链接
查看>>
设计一个算法找到数组中两个元素相加等于指定数的所有组合
查看>>
C# API 调用格式和参数类型
查看>>
针对C#.NET各种代码生成器的一点小建议
查看>>
android tesseract-ocr实例教程(包含中文识别)(附源码)
查看>>
关于三国杀的笑话
查看>>
win7普通用户如何设置环境变量
查看>>
日本灾难和凯西杀女案成为搜索引擎Bing和AOL以及Facebook的头条新闻故事
查看>>
单片机的汇编语言与嵌入式C语言的比较
查看>>
【吾日三省吾身】2015.5.31-涅槃行动第十三天
查看>>
Linux文件内容操作(一) 查看文件内容 cat
查看>>
Linux用户和组的操作(二) 用户密码文件/etc/shadow
查看>>
50个Android开发人员必备UI效果源码
查看>>
MFC使用线程的两种方式
查看>>
不做工具人,学会锻炼感悟爱与幸福的能力
查看>>
CSS选择器及优先级
查看>>