2013-05-30 45 views
0

我在Windows(與ActivePython捆綁),Debian 7(通過sudo apt-get install python-pip安裝)和OSX 10.8(通過easy_install pip安裝)上安裝了pip如何正確使用pip install --download?

我想下載mercurial包而不安裝它(只是一個.tar.gaz檔案),所以我發出以下命令記錄:

pip install --download=. mercurial 

在Windows上工作,但沒有文件出現在當前目錄。在Debian和OSX上它像這樣失敗:

Downloading/unpacking mercurial 
    Running setup.py egg_info for package mercurial 
    ... 
    lots of text, complains about no headers to compile 

我在做什麼錯?我確信pip不應該以實際運行一些與--download命令,但似乎在兩個Debian和OSX它正試圖下載:(之後安裝包。

+0

附註:在一臺乾淨的OS X 10.8機器上,如果你以股票Python 2.7開始。 2,'sudo easy_install pip',然後'sudo pip安裝mercurial'或'pip install --download =。 mercurial',它成功了。你有第二個Python 2.7安裝與Apple的衝突嗎? – abarnert

+0

我只是將已安裝的OSX 10.8.3安裝到我的一臺Mac上。發行'sudo easy_install pip'後跟'pip install --download =。 mercurial結束與提到的錯誤。但文件實際上是下載的!它不是在Debian 7/Ubuntu上下載的(只有錯誤,沒有文件)。並在Windows 8上使用ActivePython和帶有內置python的OSX下載(錯誤)。 – grigoryvp

回答

1

實際上它並不編譯和安裝包,但它確實做egg_info一步,如果這是適用於你的包你的平臺上你可以從你的輸出(或〜/將該.pip/pip.log)看到這一點:。

Running setup.py egg_info for package mercurial 

...

Command python setup.py egg_info failed with error code 1 in /var/folders/fl/kgrflrj92pv1yjr_918x0t800000gq/T/pip-build/mercurial 

無論這一步是成功還是失敗,您仍然沒有安裝任何網站包。但是,除非成功,否則您的目標目錄中可能不會包含tarball。 (從一個非常快速的測試中,它看起來像Python 2.7.2下的1.2.1和1.4dev1,如果失敗時將tarball複製到目標上,而3.3.0版本中的1.4dev1以以太網的方式複製它,但是這可能不會誤導;這可能與這個tarball是否已經在下載緩存中或者是其他東西有關......)

+0

不幸的是,無論我用','還是完整路徑指定,我都不會在我的目標目錄中找到任何東西。什麼可能是錯的? – grigoryvp

+0

@EyeofHell:你有什麼版本的pip? – abarnert

+0

@EyeofHell:等一下,你說得對,它看起來像是最新的'pip',如果'egg_info'成功,Python 2.7.2只會將tarball複製到目標目錄中。但無論如何,與Python 3.3.0相同的「pip」都會複製它。這似乎是錯誤的;你可能想要做一些更多的測試來驗證這個並提交一個錯誤。同時,讓我編輯答案。 – abarnert

相關問題