2014-02-22 27 views
0

試圖圍繞requirements.txt和多個機器設置一些簡單的自動化,它看起來像「pip」並不包含在requirements.txt中。請注意,我已經通過'pip install pip --upgrade'將它安裝在相同的virtualenv中。爲什麼皮普似乎將自己排除在「點子凍結」之外?

$ which pip 
/home/mallyvai/Code/src/bin/pip 
$ pip --version 
pip 1.5.4 from /home/mallyvai/Code/src/local/lib/python2.7/site-packages (python 2.7) 
$ pip freeze | grep -i pip 
Warning: cannot find svn location for flup==1.0.3.dev-20110405 
$ 
+1

爲什麼會這樣?如果你從'requirements.txt'安裝,你可能已經安裝了'pip'。 – univerio

+0

我不認爲'pip'列出了不是'pip install'ed的軟件包 – inspectorG4dget

+0

這個軟件包被安裝了pip,看看'哪個pip'用於驗證的pip版本。 – mallyvai

回答

2

pip freeze旨在產生適合以與pip -r使用需求文件(通常稱爲requirements.txt)輸出。 pip本身通常不屬於需求文件,所以pip freeze默認忽略它,就像它省略了setuptoolswheel一樣。

如果要上市,這些包,也傳遞--all選項:

pip freeze --all 

雖然,仔細考慮是否你實際上是在你的要求文件(縣)需要pip。改變你的方法可能比使用--all生成文件更好。

如果您不需要適合需求文件的輸出格式,也可以使用pip list來查看安裝在virtualenv中的版本。

+0

如果在重新思考你的方法時,你會得出結論:你需要在需求文件中使用'pip',給我們更多關於爲什麼需要它的背景。 –