2017-05-14 177 views
3

當我試圖安裝ipdb,我有以下問題:錯誤的Python 2.7安裝使用IPDB的virtualenv和PIP

$ pip install ipdb 
Collecting ipdb 
    Using cached ipdb-0.10.3.tar.gz 
    Complete output from command python setup.py egg_info: 
    error in ipdb setup command: Invalid environment marker: python_version >= "3.3" 

如何安裝最簡單的方式ipdb

(我用的MacOS塞拉利昂10.12.4,virtualenv中1.11.6,蟒蛇2.7.10,PIP 9.0.1)

回答

4

我的問題是由安裝的ipdb以前版本的解決:

$ pip install ipdb==0.10.2 
+0

您也可以在錯誤消息保留時更新您的Python版本。 –

+1

到版本3?現有項目可能需要大量工作。但是'ipdb'停止支持2.7嗎? https://pypi.python。org/pypi/ipdb - 這個頁面沒有說這個 –

+0

如果你看看我的答案,你會看到ipdb 0.10.3確實可以和python 2.7一起工作;如果你想升級那個軟件包python -m pip uninstall ipdb;然後運行python2 -m pip install ipdb。它應該工作正常... – Afflicted

4

我看到了你的答案,這也是有效的,我還想補充一點點。

  1. 發生這個問題是因爲您使用的是python 2.7,最新版本的ipdb包含需要python 3+的包。

除了指定的一個版本,你可以做你可以做到這一點下面

python2 -m pip install ipdb 

大多數時候,你的版本將被識別和apropriate軟件包將被安裝(即,什麼是兼容)。

雖然情況並非總是如此,但它的工作往往不是這樣。

pip install ipdb==0.10.2 

也可以接受,因爲你指定了它自己的包的版本號。然而,我會指出在這種情況下,你可以在python 2.7中使用0.10.3;它的安裝和工作正常。有一些與ipdb相關的軟件包需要更高版本的python,但是安裝了檢查來安裝與python 2.7兼容的其他版本。和最新版本的ipdb。 enter image description here

更新:

即使是官方文件說,它的支持。也許你錯過了沒有被拉的東西?檢查要求以驗證一切安裝是否正確。

當您第一次安裝它時(最初失敗時),所需的軟件包也可能是錯誤的版本。

在這種情況下,您需要刪除它們,以及它將試圖使用它們的緩存版本,而不是拉取適當的。或者至少有這種可能性。

+0

不幸的是,'python2 -m pip install ipdb'在我的情況下給出了相同的錯誤 –

+0

即使官方文檔說它支持。也許你錯過了沒有被拉的東西?檢查要求以驗證一切安裝是否正確。當你第一次安裝它所需的軟件包是錯誤的版本時,你很可能需要刪除它們,以及它會嘗試使用它們的緩存版本,而不是拉動合適的版本那些。 – Afflicted

+0

我也覺得這很奇怪。我嘗試了早期版本的pip - 結果相同。也許,原因是virtualenv。用系統python 2.7安裝'ipdb'成功 –

0

我剛剛自己複製了你的問題(雖然fwiw我使用Python 3.5)。 pip install -U ipdb失敗,並報告完全相同的錯誤。

什麼工作對我來說是IPython的第一明確升級(pip install -U ipython,雖然也許在你的情況下,它需要安裝的第一次)。然後ipdb(重新)安裝就好了。

+0

這不適合我。我試過ipython == 5.4,並且ipdb失敗,出現同樣的錯誤。 –

+0

我正在運行一個安裝了Python 3.4和pip 9.0.1的Debian 8.2.0 vagrant box,並且有相同的問題: '''$ python3 --version Python 3.4.2 $ python3 -m pip install IPDB 收集IPDB 使用緩存IPDB-0.10.3.tar.gz從命令python setup.py egg_info 完整輸出:在IPDB設置命令 錯誤:無效環境標記:PYTHON_VERSION> = 「3.3」 ---- ------------------------------------ 命令「python setup.py egg_info」失敗,錯誤代碼爲1 in/tmp/pip-build-1rix8nqv/ipdb /''' pip-installation ipython在ipdb中自動拉入而不用p roblems。 – MarkM