對任何作業系統以及程式語言而言,管理「擴充套件」是非常重要的一環。有了擴充套件,可以更容易地操作電腦,程式設計師寫程式也變得更輕鬆。
pyenv – A Python version manager. Installs different versions and flavors of Python interpreters.
pyvenv – A tool to create isolated virtual environments from a Python interpreter. Ships with Python from 3.4.
virtualenv – Creates virtual environments, available in PyPi.
python: pyenv, pyvenv, virtualenv - what's the difference?
http://masnun.com/2016/04/10/python-pyenv-pyvenv-virtualenv-whats-the-difference.html
第三方函數庫 - PyPI
PyPI (the Python Package Index) 是一個Python語言的第三方函數庫,有兩種方式可以獲取並安裝PyPI中的package:
- 使用pip install PackName 自動安裝
- 下載package源碼後使用python setup.py install 手動安裝
Python的套件管理程式 - pip
建議以 pip 為主,有另一個比較雞肋的easy_install。如果使用 pip 無法安裝成功時不妨直接進入套件目錄,看該套件是否有提供 setup.py 檔案並輸入 python setup.py 。
1. 利用apt-get安裝、更新pip sudo apt-get install python-pip sudo install -U pip 2. 利用pip列出所有已安裝的python套件 pip list 3. 利用 pip 安裝套件 pip [套件名稱] pip '[套件名稱]==[版本]' pip 'virtualenv==1.6.3' pip install install http://example.com/virtualenv-1.6.4.zip pip install git+https://github.com/simplejson/simplejson.git pip install svn+ssh://svn.zope.org/repos/main/zope.interface/trunk/ 4. 利用 pip 移除套件 : pip 支援較多自動化清理的工作(不像easy_install不支援移除)。 pip uninstall [套件名稱]
虛擬環境 - Virtualenv
Virtualenv 可以隔離函數庫需求不同的專案,讓它們不會互相影響。在建立並啟動虛擬環境後,透過 pip 安裝的套件會被放在虛擬環境中,專案就可以擁有一個獨立的環境。Virtualenv 可以幫你做到:
- 在沒有權限的情況下安裝新套件
- 不同專案可以使用不同版本的相同套件
- 套件版本升級時不會影響其他專案
1. 安裝 virtualenv pip install virtualenv 2. 建立一個虛擬環境 virtualenv my_python_env --python=python3.4 3. 初始化虛擬環境 source ./my_python_env/bin/activate 需要注意的是,之後在不同的 shell 環境下,或者在新的視窗操作時,都要重新執行上述指令。 4. 安裝套件於 virtualenv 中 pip install vimpyre 接著可以在 ./my_python_env/lib/python(版號)/site-packages 發現剛剛安裝的 vimpyre 及其相關套件。
References
Python 套件管理程式簡介
https://www.openfoundry.org/tw/tech-column/8536-introduction-of-python-extension-management-tools
Python 的虛擬環境及多版本開發利器─Virtualenv 與 Pythonbrew
http://www.openfoundry.org/tw/tech-column/8516-pythons-virtual-environment-and-multi-version-programming-tools-virtualenv-and-pythonbrew