python工作环境创建_VirtualEnv 和Pip 构建Python的虚拟工作环境
(这是打算写的这个系列 http://www.v2ex.com/t/33489 的第一篇,我不会太监,毕竟这些内容本来在公司内部或多或少就会有整理,不过工作本身忙,进度快慢不能保证,各位谅解)
一
般而言,所有python相关的包会装在系统目录里,譬如/usr/lib/
或者/usr/local/lib/,这样的话,假设两个开发分支要求的库不一样,譬如对应在线版本的开发环境使用
Django1.3,但是一个新的开发分支基于Django1.4,两者就会互相影响。
Virtualenv 是一个虚拟环境程序,可以把开发环境隔离。基本思想是建立不同的环境目录,其中装有独立的各类包,甚至也可以是独立的不同版本python程序。
1. 安装 virtualenv 和 virtualenvwrapper,后者是一套很有用的扩展,提供了方便切换开发环境的快捷命令
以下命令都是基于Ubuntu的(Mac OS 上可以参考 https://gist.github.com/1208841 )
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
python工作环境创建_VirtualEnv 和Pip 构建Python的虚拟工作环境相关推荐
- c调用python代码找不到模块_构建 Python C 扩展模块
有好几种扩展 Python 的功能的方法.其中一种就是用 C 或 C++ 编写 Python 模块.通过这个过程可以提高性能,更好地访问 C 库函数和系统调用.在本教程中,我将带大家了解如何使用 Py ...
- python界面开发 web_使用 web 技术构建 python 的 GUI 界面
一般来说,选择用于应用程序的 GUI 工具箱会是一个棘手的事情,Python 也不例外.对于 Python 来说,可以选择的工具箱种类繁多.就我所知道的而言,比较常用的就有 TkInter, wxPy ...
- python psutil下载安装_windows 利用pip 安装python psutil 模块
本来写好的一篇文章,点错了,点"发表文章"了,郁闷中.... https://www.cndba.cn/sule/article/2218 那么就简单的记录下吧,懒得再详细的写一遍 ...
- python中如何创建包_如何在Python中创建命名空间包?
TL:博士: 在Python3.3上,您不必做任何事情,只要不在名称空间包目录中放置任何__init__.py,它就可以工作了.在pre-3.3中,选择pkgutil.extend_path()解决方 ...
- python安装mysqldb模块,如何使用pip安装Python MySQLdb模块?
How can I install the MySQLdb module for Python using pip? 解决方案 It's easy to do, but hard to remembe ...
- python统计词频 创建字典_如何利用Python进行文本词频统计
问题描述 Python在自然语言处理这个方面,有其天然的优势:简单,快捷.所以我们经常会遇到利用Python从一篇文档中,统计文本词频的问题.以<三国演义>这部名著为例,文中哪些人物的出场 ...
- python pip-什么是pip?Python新手入门指南
什么是 pip ?pip 是 Python 中的标准库管理器.它允许你安装和管理不属于 Python标准库 的其它软件包.本教程就是为 Python 新手介绍 pip. 通过本教程,你将学到: 1. ...
- Python实战技术 - Python虚拟隔离环境 和 Docker技术
Python实战技术 - Python虚拟隔离环境 和 Docker技术 已经学过,只想查查手册?--试试直接跳转到命令: (1)使用venv创建相关命令 (2)使用virtualenv创建相关命令 ...
- cmd输入pip报错_使用Pip管理Python的包
这是我的Python教程的第2篇文章 第1篇文章在这里:Python安装 0x01Pip介绍 Pip是Python的包管理程序,负责Python的包的查找,下载,安装,卸载工作;使用Pip可以轻松的管 ...
最新文章
- MPB:林科院袁志林组-​原生质体法制备根系腐生型共生菌(伞菌目)单核化菌丝...
- The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'
- 从Atlas到Microsoft ASP.NET AJAX(4) - Browser Compatibility
- java定时器的使用
- 驾驶证损毁、驾驶人信息变更的如何换证
- 内核怎么帮程序建立连接的
- 江苏计算机云服务,云呐|江苏企业机房环境动环监控服务商系统智能监测
- javaweb项目静态资源被拦截的解决方法
- atitit.资源释放机制--attilax总结
- 结构专业规范大全_建筑业最新规范大全!拿着手机看规范、查标准,超级方便...
- rs232接口_RS232串口通信:接口定义、标准接法详细说明,一看就懂了
- ajax实现JSONP跨域
- 中国抗生素产业运行状况与需求前景规模预测报告2022版
- matlab coder 安装,MATLAB Coder
- 中国IT排名百强公司 .
- 贷款计算公式——java实现
- Oracle---查询
- 国际群发短信平台适用于哪些行业?
- 魔趣吧致力于为中文站长提供助力
- 9.谷歌浏览器最小字体尺寸
热门文章
- scheme http https 区别 tls_HTTPS、HTTP、TLS/SSL工作及握手原理、PKI/CA密钥体系
- 重温这几个屌爆的Python技巧!
- Team Foundation Server 2010 安装、部署与配置(四):设置 .
- 演练:调试多线程应用程序
- Ubuntu16使用theano出错
- python语言的核心理念是_学习Python语言四大核心优势
- Pyotrch —— 优化器Optimizer(一)
- PCA和线性回归之间的关系如何?
- 吴恩达深度学习 —— 4.6 前向传播和反向传播
- 【例题+习题】【数值计算方法复习】【湘潭大学】(六)