透過「requirements.txt」,使用「pip」安裝「MkDocs」
建立專案資料夾
建立專案資料夾
$ mkdir note
切換到專案資料夾
$ cd note
撰寫 requirements file
撰寫「requirements-to-freeze.txt」
$ echo 'mkdocs' > requirements-to-freeze.txt
觀看「requirements-to-freeze.txt」內容
$ cat requirements-to-freeze.txt
顯示
mkdocs
安裝 mkdocs
執行
$ pip install -r requirements-to-freeze.txt
就會安裝「mkdocs」和其相依的套件
觀看 mkdocs 相關的資訊
執行
$ pip show mkdocs
顯示
---
Metadata-Version: 2.0
Name: mkdocs
Version: 0.15.3
Summary: Project documentation with Markdown.
Home-page: http://www.mkdocs.org
Author: Tom Christie
Author-email: tom@tomchristie.com
License: BSD
Location: /home/user/.pyenv/versions/3.4.4/lib/python3.4/site-packages
Requires: Markdown, tornado, mkdocs-bootswatch, click, PyYAML, Jinja2, livereload, mkdocs-bootstrap
You are using pip version 7.1.2, however version 8.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
建立「requirements.txt」
執行
$ pip freeze -r requirements-to-freeze.txt > requirements.txt
會產生一個檔「requirements.txt」
觀看「requirements.txt」內容
執行
$ cat requirements.txt
顯示
mkdocs==0.15.3
## The following requirements were added by pip freeze:
backports-abc==0.4
click==6.3
Jinja2==2.8
livereload==2.4.1
Markdown==2.6.5
MarkupSafe==0.23
mkdocs-bootstrap==0.1.1
mkdocs-bootswatch==0.4.0
PyYAML==3.11
six==1.10.0
tornado==4.3
為啥要特別產生「requirements.txt」這個檔?
因為剛剛「requirements-to-freeze.txt」,只有簡單設定要安裝「mkdocs」,並沒有指定版本。
透過上面指令產生的「requirements.txt」,則會把剛剛安裝的版本給紀錄上去。
所以當這個這個專案放到其他的機器,
就可以透過下面的指令安裝這個專案需要的套件,並且安裝的就是同樣的版本。
$ pip install -r requirements.txt
更多參考
- A Better Pip Workflow™
- Python Packaging User Guide / Installing Packages / Requirements files