日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python使用环境_使用python之环境管理

發布時間:2024/9/30 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python使用环境_使用python之环境管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

情景1:不同python版本的管理

同一電腦上的多個python版本之前的管理,為了突出問題的普遍存在,下面是有人在segmentfault上提的問題。

摘自:http://segmentfault.com/q/1010000000162043

情景2:同一python版本中同一庫的不同版本管理

例如在python2.7下應用A是基于Django1.6,應用B是基于Django1.7的,這種情況怎么管理。

為解決以上問題,下面隆重介紹下virtualenv、virtualenvwrapper。

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:\Python34\Scripts\virtualenv.exe env_py3.4

Using base prefix 'D:\\Python34'

New python executable in env_py3.4\Scripts\python.exe

Installing setuptools, pip...done.

創建虛擬環境env_py3.4之后,對應目錄下面有以下文件夾:

E:\env_py3.4的目錄

2014/11/2615:38

2014/11/2615:38

2014/05/1615:34

2014/11/2615:38

2014/11/2615:38

其中Lib/site-packages包含了,從系統安裝的python3.4下面的庫。默認情況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那么可以加上參數--no-site-packages建立虛擬環境

virtualenv --no-site-packages [虛擬環境名稱]

啟用虛擬環境

source bin/activate或者?Scripts\activate.bat

啟用虛擬環境之后,命令行提示符將以虛擬環境名為前綴,如(env_py3.4)E:\env_py3.4>。也可以通過python打印出os.sys.path進行驗證,如在我的env_py3.4虛擬環境啟用之后,系統path路徑如下所示:

E:\env_py3.4>Scripts\activate

(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或者?Scripts\deactivate

如退出env_py3.4虛擬環境,命令行提示符前綴也相應改變了。

(env_py3.4) E:\env_py3.4>Scripts\deactivate

E:\env_py3.4>

在虛擬環境中安裝新的python軟件包,跟正常的python一樣,并且虛擬環境中已經附帶pip、easy_install等工具,可以非常方便的使用。

virtualenvwrapper

Virtualenvwrapper是一個Virtualenv的extension,可使虛擬環境的管理變得更容易。詳細來說,Virtualenvwrapper提供下述功能:

l將所有的虛擬環境整合在一個目錄下。

l管理(新增、移除、復制)所有的虛擬環境。

l可以使用一個命令切換虛擬環境。

lTab補全虛擬環境的名字。

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_app3\Scripts\python.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:\Python34\Scripts>mkvirtualenv.bat F:\evn_py3.4_app1

python.exe: can't open file 'D:\Python34\Scripts\virtualenv-script.py': [Errno 2

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

總結

基于virtualenv + virtualenvwrapper可以很好的完成環境隔離,保證對每個應用的環境是干凈的。而且對一個干凈的環境可以通過:

pip freeze > requirements.txt將包依賴信息保存在requirements.txt文件

pip install -r requirements.txt會自動從網上下載并安裝所有包

方便應用部署分發,關于pip軟件包管理再下一篇介紹。

相關連接:

總結

以上是生活随笔為你收集整理的python使用环境_使用python之环境管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。