使用 pip
requirements.txt
用來記錄項目所有的依賴包和版本號,只需要一個簡單的 pip 命令就能完成。
pip freeze > requirements.txt
生成的文件會像這個樣子
alembic==1.0.10
blinker==1.4
Click==7.0
dominate==2.3.5
Flask==1.0.3
然后就可以用
pip install -r requirements.txt
來一次性安裝 requirements.txt 里面所有的依賴包,真是非常方便。
使用 Python3 的 venv
創建虛擬環境
python -m venv env
激活虛擬環境
. env/bin/activate
使用 poetry 包管理
poetry
的工作方式就像 Node.js 里的 npm/yarn。
首先用 pip install poetry
來安裝它,可以用 poetry new [name]
來生成新項目,或者在項目的根目錄下面運行 poetry init
來初始化。
這樣 poetry
會在這個項目里創建一個 pyproject.toml
的文件,就像 package.json
一樣,里面記錄了項目所有的依賴包版本信息。
[tool.poetry]
name = "my-package"
version = "0.1.0"
description = "The description of the package"
[tool.poetry.dependencies]
python = "~2.7 || ^3.2" # Compatible python versions must be declared here
toml = "^0.9"
[tool.poetry.dev-dependencies]
pytest = "^3.0"
[tool.poetry.scripts]
my-script = 'my_package:main'
poetry install
可以一鍵安裝所有依賴包,還會生成 poetry.lock
文件,里面記錄了這次安裝時的依賴包。poetry install --no-dev
可以只安裝生產環境的包,不安裝開發環境的包。
在 poetry add [name]
可以安裝 Flask 到生產環境,比如 poetry add flask
,再加 --dev
參數,poetry add --dev flask
就會安裝到開發環境。
poetry remove [name]
可以卸載依賴包,poetry show
可以顯式安裝好的包。
更多用法請查看 poetry 。