2014-01-30 51 views
1

我的要求的文件是這樣的:PIP - 安裝分依賴將覆蓋requirements.txt其他包

https://github.com/sontek/pyramid_webassets/archive/38b0b9f9f4e36dc22b3a5c10eabf4d9228d97740.zip#egg=pyramid_webassets-0.0 
https://github.com/miracle2k/webassets/archive/334d55c6bcfd091cb2d984777daf943acde0d364.zip#egg=webassets-0.8.dev 
運行 pip install -r requirements.txt時,我想它來安裝pyramid_webassets的具體版本,然後具體webassets

版本(0.8.dev)

問題是,pyramid_webassets具有作爲子依賴項的webassets,並安裝最新的這個包。

所以PIP凍結的輸出

Chameleon==2.14 
Mako==0.9.1 
MarkupSafe==0.18 
PasteDeploy==1.5.2 
WebOb==1.3.1 
argparse==1.2.1 
pyramid==1.4.5 
pyramid-webassets==0.0 
repoze.lru==0.6 
translationstring==1.1 
venusian==1.0a8 
webassets==0.9 
wsgiref==0.1.2 
zope.deprecation==4.1.0 
zope.interface==4.0.5 

您可能會注意到webassets版本雖然我指定我想要的版本最新版本(0.9)(0.8.dev)。

我試圖重新排序列表,添加--upgrade標誌 - 沒有任何幫助。

任何想法如何安裝它,仍然有所需的webassets版本?

謝謝。


soultion:

我發現這個讚揚有用:

cat requirements.txt | xargs -L1 pip install 

將由一個安裝一個軟件包有序

但我們應該添加--upgrade最後包所以它會升級它。

回答

0

當您將webassets移動到高於pyramid_webassets的列表上時會發生什麼?

+0

相同的結果。我在pip freeze上看到webassets = 0.9 – eligro

4

使用PIP安裝選項不安裝軟件包的依賴

$ pip install --no-deps -r requirements.txt 

做一個點子凍結之後

[email protected]:~/venv$ bin/pip freeze 
argparse==1.2.1 
pyramid-webassets==0.0 
webassets==0.8.dev 
wsgiref==0.1.2 

參考

+0

實際上我需要金字塔代碼= webassets – eligro

+0

所以把它們放在你的'requirements.txt'中。 – Mitar