Python專案管理__Python

來源:互聯網
上載者:User

Virtual Environments
首先Python似乎沒有類似Maven/Ant這樣的專案管理工具。那麼當一台機器上有多個python項目,且這些python項目各自有不同的依賴,不想互相干擾時怎麼辦呢。
官方做法是使用Virtual Environments將每個項目互相隔離開。一般情況下,我們使用python解譯器運行python指令碼或module:

>python myScript.py

啟動並執行目錄就是安裝的python解譯器,即python.exe所在的目錄。而Virtual Environments就是給每個項目都產生一個項目專屬的目錄,這個目錄裡包含python解譯器,python標準類庫和其他各式各樣的必要檔案。這樣每個項目就可以使用不同的解譯器和類庫,且互不干擾。
建立過程也很簡單。首先找到pyvenv.py所在的目錄,這個檔案通常在安裝目錄的自目錄\Tools\scripts下。這是一個產生Virtual Environments的工具。然後運行:

>pyvenv tutorial-env

運行後就會產生一個名為“tutorial-env”的目錄。找到這個目錄,可以發現正如官網所說,這個目錄包含運行python項目所必須的一切檔案。使用在各自Virtual Environments目錄裡包含的解譯器來運行特定的python項目就可以了。同時,對於那些每個項目使用的特定的依賴(packages或module),則加入到各自Virtual Environments目錄的類庫子目錄中就可以了。這裡需要注意的是。建立完Virtual Environments後,還需要啟用。做法很簡單,在上例tutorial-env目錄下執行下的命令即可:

>tutorial-env/Scripts/activate

PIP
PIP是官方提供的安裝python第三方類庫(packages/module)的工具。它可以去PPI(python packages index)尋找或下載第三方類庫。網址是:https://pypi.python.org/pypi
找到上例Virtual Environments目錄下的pip.exe並運行:

>pip install lib_name

即可安裝,其他功能請自行查看手冊。如果是在python的安裝目錄下運行pip,則類庫可以被非Virtual Environments的所有項目使用。PIP安裝的其實是package。

Requirements.txt
在Virtual Environments目錄下運行:

>pip freeze > requirements.txt

可以生產一個當前項目所有依賴類庫及其版本的list檔案,檔案名稱就是requirements.txt(當然也可以用別的名字)。檔案內容大致如下:

novas==3.1.1.3
numpy==1.9.2
requests==2.7.0

使用requirements.txt的好處就是:
The requirements.txt can then be committed to version control and shipped as part of an application. Users can then install all the necessary packages with “install -r“:

>pip install -r requirements.txt

這樣就可以方便的管理項目依賴了。如果不使用requirements.txt,直接使用version control儲存Virtual Environments目錄,其他程式員直接下載該目錄就可以開始項目開發的做法也可以。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.