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

歡迎訪問 生活随笔!

生活随笔

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

python

python 包管理和virturlenv

發布時間:2024/4/13 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 包管理和virturlenv 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python 包管理工具

?

Python當前的包管理工具鏈是 easy_install/pip + distribute/setuptools + distutils,顯得較為混亂。

而將來的工具鏈組合非常簡單:pip + distutils2。

?

1、distutils:Python 自帶的基本安裝工具,適用于非常簡單的應用場景,使用:

  • 為項目創建 setup.py 腳本;
  • 執行 setup.py install 可進行安裝;

?

2、setuptools:針對 distutils 做了大量擴展,尤其是加入了包依賴機制,在部分 Python 子社區已然是事實上的標準。

?

3、distribute:由于 setuptools 開發進度緩慢,不支持 Python 3,代碼混亂,一幫程序員另起爐灶,重構代碼,增加功能,希望能夠取代 setuptools 并被接納為官方標準庫,他們非常努力,在很短的時間便讓社區接受了 distribute。

?

4、easy_install:setuptools 和 distribute 自帶的安裝腳本,也就是一旦 setuptools 或 distribute 安裝完畢,easy_install 也便可用。最大的特點是自動查找 Python 官方維護的包源 PyPI,安裝第三方 Python 包非常方便。使用:

  • setuptools / distribute 都只是擴展了 distutils;
  • easy_install [PACKAGE_NAME] 自動從 PyPI 查找/下載/安裝指定的包。
  • easy_install 也有很多不足:安裝事務是非原子操作,只支持 svn,沒有提供卸載命令, 安裝一系列包時需要寫腳本。

?

5、distutils2:setuptools 和 distribute 的誕生是因為 distutils 的不濟,進而導致目前分化的狀況。而 Guido 并未接納 distribute 為官方標準,并說明了原因。它將成為 Python 3.3 的標準庫 packaging,并在其它版本中以 distutils2 的身份出現。換句話說,它和 pip 將聯手結束目前混亂的狀況。

?

6、pip 是 easy_install 的一個替換品。pip 的安裝需要setuptools 或者 distribute,distribute是setuptools的取代(Setuptools包后期不再維護了),如果你使用的是Python3.x那么就只能使用distribute因為Python3.x不支持setuptools。

下面來看一下pip的使用:

安裝特定版本的package,通過使用==, >=, <=, >, <來指定一個版本號,例如安裝Markdown包:

pip install 'Markdown<2.0' pip install 'Markdown>2.0,<2.0.3'

包的安裝路徑:/usr/local/lib/python2.7/dist-packages。

?

升級包到當前最新的版本,可以使用-U 或者 --upgrade

pip install -U Markdown

?

卸載包

pip uninstall Markdown

?

查詢包

pip search "multiprocessing"

?

列出安裝的packages

pip freeze

?

?

?

virtualenv

在開發Python應用程序的時候,系統安裝的Python只有一個版本。所有第三方的包都會被pip安裝到Python的site-packages目錄下。

如果我們要同時開發多個應用程序,那這些應用程序都會共用一個Python,如果應用A需要jinja 2.7,而應用B需要jinja 2.6怎么辦?

這種情況下,每個應用可能需要各自擁有一套“獨立”的Python運行環境。virtualenv就是用來為一個應用創建一套“隔離”的Python運行環境。

假定我們要開發一個新的項目,需要一套獨立的Python運行環境,可以在項目目錄下執行下面的命令:

virtualenv --no-site-packages venv

virtualenv命令創建一個獨立的Python運行環境,參數--no-site-packages 表示已經安裝到系統Python環境中的所有第三方包都不會復制過來,這樣,我們就得到了一個不帶任何第三方包的“干凈”的Python運行環境。

?

新建的Python環境被放到當前目錄下的venv目錄。有了venv這個Python環境,可以用source命令進入該環境:

source venv/bin/activate

在venv環境下,用pip安裝的包都被安裝到venv這個環境下,系統Python環境不受任何影響。也就是說,venv環境是專門針對myproject這個應用創建的。

?

退出當前的venv環境,使用deactivate命令:

deactivate

?

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

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

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