34.Python多项目开发环境分割利器——virtualenv
来源:互联网 发布:世界历年gdp数据 编辑:程序博客网 时间:2024/06/01 17:11
转载请注明原始出处:http://blog.csdn.net/a464057216/article/details/51996225
使用Python进行项目开发的时候,难免会依赖很多package。如果项目1依赖package A的版本0.1,项目2依赖package A的版本0.2,难免会产生冲突。另外一种情况是使用公用机器进行开发时,如果没有访问Python标准的site-packages
目录的权限,将无法安装各种需要的package。virtualenv是解决这些问题的利器,它能够为不同项目分离不同的Python环境,为它们安装不同的package。
- 安装virtualenv工具
如果有pip工具,可以使用如下命令安装:
$ sudo pip install virtualenv
在Ubuntu上也可以使用apt-get
安装:
$ sudo apt-get install python-virtualenv
- 建立virtualenv环境
$ virtualenv ENV
ENV
是放置虚拟工作环境的目录,包含bin/
、include/
、lib/
等子目录,在虚拟工作环境下安装的package会放在ENV/lib/pythonX.X/site-packages/
目录中,ENV/bin/
子目录中放置可执行程序,比如Python的可执行文件,如果脚本中组织行为#! /path/to/ENV/bin/python
,则会使用虚拟工作环境的Python运行脚本。默认情况下,安装完virtualenv环境后,默认会在该环境中安装pip、setuptools等工具。
- 使用virtualenv
$ source ENV/bin/activate
或者
$ . ENV/bin/activate
Shell行首的系统提示符会发生变化,告诉用户在虚拟环境中,其实它是将ENV/bin/
这个目录加到了$PATH
环境变量的前面。在虚拟环境中使用pip或者easy_install命令安装的各种包都会保存在ENV下(使用pip或easy_install时不需要使用sudo)。
- 退出virtualenv
$ deactivate
- 删除virtualenv
$ rm -rf venv
常用的virtualenv选项
--system-site-packages
:如果有访问系统site-packages目录的权限,可以在创建virtualenv的时候使用这个选项,这样新的虚拟工作环境会继承系统的packages。-p PYTHON_EXE
:如果系统中存在多个Python版本,在建立virtualenv时可以使用这个选项指定Python版本,如-p python2.7。--no-site-packages
:该选项已经被废弃,目前virtualenv默认不包含系统的site-packages。共享开发环境
实际项目开发中,我们使用Git共享代码库,在代码库中通常提供一个requirements的文件,用来共享环境依赖信息。在虚拟工作环境中,使用$ pip freeze > requirements
即可以将当前的package依赖写入requirements文件(这个文件中不会包含默认的pip、setuptools和wheel信息),push到代码库以后,别人就可以在虚拟工作环境下通过$ pip install -r requirements
快速搭建一样的开发环境。
如果觉得我的文章对您有帮助,欢迎关注我(CSDN:Mars Loo的博客)或者为这篇文章点赞,谢谢!
- 34.Python多项目开发环境分割利器——virtualenv
- 35.Python多项目开发环境分割利器之二——virtualenvwrapper
- virtualenv-python虚拟开发环境
- 虚拟Python环境——virtualenv
- 虚拟本地python环境——virtualenv
- python虚拟开发环境Virtualenv搭建
- 【Python】virtualenv —— 建立Python虚拟环境
- Python学习—Python虚拟环境(pyvenv、virtualenv)
- Python学习——如何创建虚拟环境Virtualenv
- python虚拟环境-virtualenv
- python虚拟环境-virtualenv
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:Virtualenv
- python 虚拟环境 Virtualenv
- Python 虚拟环境:Virtualenv
- Python虚拟环境virtualenv
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:virtualenv
- Windows c++剪切板操作
- EL表达式取map值
- ACM中关于oj的常见问题
- 前缀和后缀和
- 字符串展开(递归)hdu 1274
- 34.Python多项目开发环境分割利器——virtualenv
- C++11 异步方法
- 剑指offer第12题 最优解
- Android学习笔记035之HTTP协议
- webView的使用及注意事项
- webapp开发使用Cordova-Cordova教程
- poj 2349(Prime + Kruskal 最小生成树)
- C++学习之路(3) 常用数据结构与STL
- 使用SpanableString实现textview部分字体点击事件(不同颜色)