1. 2.x (2.7 是最後一版,預計維護到 2020 年)
2. 3.x (此文發佈時最新版本 3.6.5)
注意:Python 3.x 並不向下相容,因此 Python 2.x 的 code 用 Python 3.x 執行可能會有問題。
Python document
1. Python 2.x
2. Python 3.x
Python 套件格式 (packaging format)
1. Eggs (副檔名 .egg)
2. wheel (副檔名 .whl)
Python 套件管理 (package manager)
1. distutils: 安裝與發佈 Python 套件
使用 distutils 寫 setup.py 來發佈 Python 套件
如何寫 setup.py
setup.py 範例
2. setuptools: 下載、建構、安裝和管理 Python 套件
使用指令 easy_install
注意:setuptools 不支援反安裝 Python 套件,有看到對支援反安裝套件的討論,但似乎並沒有一個很好的方式可以做到。
3. pip
Python 虛擬環境 (virtual environment)
當一個 linux distribution 預設使用 Python 2.x 時,想要升級 Python 3.x 是挺麻煩的,因為很多基本的系統指令都基於 Python 2.x,不能輕易將 Python 2.x 移除,移除的話連最基本的指令都無法運行。
此時虛擬環境就派上用場,在一個系統上(system-wide)安裝多個版本的 Python 並切換使用,例如 pyenv。再進一步還可以將一個目錄(folder-wide)模擬成一個虛擬環境,例如 virtualenv。
1. pyenv
a. based on bash
b. system-wide or user-wide
2. virtualenv
a. based on Python
b. folder-wide
3. virtualenvwrapper
a. 是 virtualenv 的 extension
4. venv
a. Python 3.3 開始支援
b. in Python Standard Library
Python 懶人包 (含 Python 與很多套件)
1. Anaconda
2. Enghought Canopy
名詞與縮寫
CPython: 用 C 實現 Python
PyPy: 用 Python 實現 Python
RPython: Python 的一個子集
第三方軟體庫 (third-party software repository)
PyPa: Python Packaging Authority
維護套件管理專案的群組, github
PEP: Python Enhancement Proposals
PSF: Python Software Foundation
沒有留言:
張貼留言