2013-12-09 54 views
1

長期以來一直使用開源軟件的每個人都知道比特率很高,爲 。對於Python軟件包來說這肯定是正確的,這些軟件包似乎以不穩定的頻率改變了它們的API。來自requirements.txt的Python軟件包的磁盤緩存

您可以構建一個pip requirements.txt文件來記錄所有依賴關係,但有時在6個月後找不到所需的軟件包版本。

假設我建了一個requirements.txt文件中像這樣...

decorator==3.4.0 
flup>=1.0.2 
Werkzeug==0.9.4 
argparse==1.2.1 
Mako==0.9.0 
Jinja2==2.7.1 
Flask==0.10.1 
itsdangerous==0.23 
WTForms==1.0.5 
Flask_WTF==0.9.3 

我希望避免與查找特定包版本問題。

是否有一種簡單的方法將所有必需的軟件包填充到磁盤存檔中,而無需從pypi單獨下載它們?

回答

2

可以使用download-cache選項~/.pip.conf,這將存儲那些軟件包你安裝(他們下載的檔案),你可以稍後安裝:

[global] 
default-timeout = 60 
respect-virtualenv = true 
download-cache = /home/foo/bar/.pip/cache 
log-file = /home/foo/bar/.pip/pip.log 
build = /home/foo/bar/.pip/build 

[install] 
use-mirrors = true 

Y ou還可以創建自己的pypi server,然後維護您自己的軟件包版本。

在工作中,我更喜歡這個選項,因爲它允許我使用標準的Python distutils來分發和安裝我不想放在全局奶酪店的軟件包。

+0

這似乎在windows&unix上都有效。關於'pip.conf'的好處 –

+0

配置文件的位置應該是'〜/ .pip/pip.conf'而不是'〜/ .pip.conf'。 – jkukul