8535.com-新浦京娱乐场官网|欢迎您

【新浦京娱乐场官网】清淡的选拔python之意况管

来源:http://www.dnamique.com 作者:计算机网络 人气:186 发布时间:2020-01-04
摘要:雅淡的行使python之情形管理,python情状管理 平淡的选取python之情形管理 缘起 场景1:区别python版本的军事拘禁 相像计算机上的三个python版本在此以前的军事管制,为了优异难题的布满

雅淡的行使python之情形管理,python情状管理

平淡的选取python之情形管理

缘起

场景1:区别python版本的军事拘禁

相像计算机上的三个python版本在此以前的军事管制,为了优异难题的布满存在,下边是有人在segmentfault上提的难点。

摘自:

此情此景2:同风华正茂python版本中千篇风流倜傥律库的不等版本管理

譬喻说在python2.7下应用A是依据Django1.6,应用B是依照Django1.7的,这种景观怎么管理。

为消除以上难题,上面隆重介绍下virtualenv、virtualenvwrapper。

virtualenv

摘自virtualenv官网的

“The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into/usr/lib/python2.7/site-packages (or whatever your platform’s standard location is), it’s easy to end up in a situation where you unintentionally upgrade an application that shouldn’t be upgraded.

Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.

Also, what if you can’t install packages into the global site-packages directory? For instance, on a shared host.”

忽视就是virtualenv用于在一台机器上创办多个单身的python运转条件,能够消除:

l  隔开分离项目里面包车型地铁第三方包信任

l  在未有权力的景观下安装新的Python软件包

除却,还应该有三个额外的实惠:安顿应用时,把开拓景况的虚构境遇打包到生产条件就能够。

安装

方式一:通过pip

[sudo] pip install virtualenv

艺术二:源码形式

下载、解压

cd virtualenv-X.X

[sudo] python setup.py install

方式N…

使用

开创设想意况

virtualenv [虚拟环境名称] /virtualevn.exe [虚拟环境名称]

自己的条件是windows python3.4,那样创制虚构情形:

E:>D:Python34Scriptsvirtualenv.exe env_py3.4

Using base prefix 'D:\Python34'

New python executable in env_py3.4Scriptspython.exe

Installing setuptools, pip...done.

开创设想蒙受env_py3.4之后,对应目录下边有以下文件夹:

E:env_py3.4 的目录

2014/11/26  15:38    <DIR>          .

2014/11/26  15:38    <DIR>          ..

2014/05/16  15:34    <DIR>          Include

2014/11/26  15:38    <DIR>          Lib

2014/11/26  15:38    <DIR>          Scripts

个中Lib/site-packages包蕴了,从系统装置的python3.4底下的库。暗中同意境况下,设想情形会凭仗系统意况中的site packages,正是说系统中早已安装好的第三方package也会设置在虚构意况中,借使不想依靠那个package,那么能够加多参数 --no-site-packages创立虚构意况

virtualenv --no-site-packages [虚拟环境名称]

 

启用虚构情形

 

 

source bin/activate或者 Scriptsactivate.bat

启用虚构意况之后,命令行指示符将以设想意况名字为前缀,如(env_py3.4) E:env_py3.4>。也得以透过python打字与印刷出os.sys.path进行认证,如在作者的env_py3.4虚构意况启用今后,系统path路线如下所示:

E:env_py3.4>Scriptsactivate

(env_py3.4) E:env_py3.4>python

Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:24:06) [MSC v.1600 32 bit (In

tel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> print(os.sys.path)

['', 'E:\env_py3.4\Scripts\python34.zip', 'E:\env_py3.4\DLLs', 'E:\env_py3

.4\lib', 'E:\env_py3.4\Scripts', 'D:\Python34\Lib', 'D:\Python34\DLLs', '

E:\env_py3.4', 'E:\env_py3.4\lib\site-packages']

从os.sys.path中能够看出,那么些条件下实践python相关的操作都以约束在设想情形中。

退出设想遭受

 

bin/deactivate 或者 Scriptsdeactivate

如退出env_py3.4设想景况,命令行提醒符前缀也相应更换了。

(env_py3.4) E:env_py3.4>Scriptsdeactivate

E:env_py3.4>

 

在虚构情状中设置新的python软件包,跟寻常的python同样,何况设想意况中早原来就有意照旧无意pip、easy_install等工具,可以十三分便于的接受。

virtualenvwrapper

Virtualenvwrapper 是多个Virtualenv 的extension,可使设想意况的治本变得更易于。详细来讲,Virtualenvwrapper 提供下述成效:

l  将拥有的设想情状整合在二个目录下。

l  管理(新增添、移除、复制)全数的虚拟境况。

l  能够利用三个发令切换虚构遭受。

l  Tab 补全设想景况的名字。

l  每一个操作都提供允许使用者自定的hooks。

l  可撰写轻便享受的extension plugin 系统。

安装

通过pip或者easy_install安装virtualenvwrapper

pip install virtualenvwrapper

默许virtualenvwrapper安装在/usr/local/bin上面,实际上你须求周转virtualenvwrapper.sh文件才行。

 

申明:virtualenvwrapper is a set of shell functions defined in Bourne shell compatible syntax。所以在window平台下,是否应用持续的,但是对应该一个virtualenvwrapper-win版本(

virtualenvwrapper-win将设置在python根目录下边,如D:Python34。

# using pip

pip install virtualenvwrapper-win

 

# using easy_install

easy_install virtualenvwrapper-win

 

# from source

git clone git://github.com/davidmarble/virtualenvwrapper-win.git

cd virtualenvwrapper-win

python setup.py install

 

使用

virtualenvwrapper-win和virtualenvwrapper的利用方式完全平等:

l  列出虚构情状列表:workon 或许lsvirtualenv

l  新建设想境况:mkvirtualenv [虚拟境况名称]

l  运行/切换虚构碰着:workon [虚构意况名称]

l  删除设想情况:rmvirtualenv [设想蒙受名称]

l  离开设想情形:deactivate.

诸如,笔者创立了3个设想碰着

       …….

(vn_py3.4_app2) D:Python34>mkvirtualenv.bat vn_py3.4_app3

Using base prefix 'D:\Python34'

New python executable in vn_py3.4_app3Scriptspython.exe

Installing setuptools, pip...done.

 

(vn_py3.4_app3) D:Python34>workon.bat

 

Pass a name to activate one of the following virtualenvs:

==========================================================

vn_py3.4_app1

vn_py3.4_app2

vn_py3.4_app3

暗许创设的虚构情形路线为:%USERPROFILE%Envs,即C:Users用户名Envs。

切换虚构情状:

(vn_py3.4_app3) D:Python34>workon.bat vn_py3.4_app1

(vn_py3.4_app1) D:Python34>workon.bat vn_py3.4_app2

(vn_py3.4_app2) D:Python34>

 

稳重:如若window上边遭遇D:Python34Scripts>mkvirtualenv.bat F:evn_py3.4_app1

python.exe: can't open file 'D:Python34Scriptsvirtualenv-script.py': [Errno 2

] No such file or directory,修改mkvirtualenv.bat中的python.exe "%PYHOME%Scriptsvirtualenv-script.py" %ARGS% ==》python.exe "%PYHOME%Scriptsvirtualenv.exe" %ARGS%即可。

总结

基于virtualenv + virtualenvwrapper能够很好的成功意况隔开,保障对种种应用的条件是根本的。何况对叁个通透到底的蒙受得以由此:

pip freeze > requirements.txt将包正视音讯保存在requirements.txt文件

pip install -r requirements.txt会自行从互连网下载并安装具备包

方便利用铺排分发,关于pip软件包处理再下朝气蓬勃篇介绍。

 

有关连接:

温婉的利用python之遭逢管理 缘起 情景 1 :分歧 python 版本的管理同生龙活虎计算机上的多少个 python 版本...

本文由8535.com-新浦京娱乐场官网|欢迎您发布于计算机网络,转载请注明出处:【新浦京娱乐场官网】清淡的选拔python之意况管

关键词:

最火资讯