使用virtualenv和pip安装Python 2.7的ipdb时出现错误

8

当我尝试安装ipdb时,出现了以下问题:

$ 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 Sierra 10.12.4,virtualenv 1.11.6,python 2.7.10,pip 9.0.1)

3个回答

9

通过安装之前版本的ipdb,我的问题得以解决:

$ pip install ipdb==0.10.2

你也可以更新你的Python版本,因为错误信息仍然存在。 - Kuu Aku
1
升级到版本3吗?对于现有项目来说可能需要付出很多工作量。但是,ipdb停止支持2.7了吗? https://pypi.python.org/pypi/ipdb - 这个页面没有提到这个问题。 - Alexander Fedotov
如果您查看我的答案,您会发现ipdb 0.10.3可以与Python 2.7一起使用;如果您想升级该软件包,请执行python -m pip uninstall ipdb; 然后运行python2 -m pip install ipdb。它应该可以正常工作... - suroh
我知道这是一个旧帖子。但是我注意到你关于在2.7和3+之间切换会很费力的评论。你说得很对,然而Python 2将在几年后被淘汰,大多数主要库都正在移植他们的模块以与3+兼容,许多甚至已经承诺完全放弃对Python 2.7的支持。现在你可能想要转变过来,因为现在相对容易一些。 - suroh

4

我看到了你的回答,它是有效的,我也想再补充一点。

  1. 问题发生的原因是你正在使用Python 2.7,而最新版本的ipdb包需要Python 3+。

你可以采取以下方法,而不是指定一个版本:

python2 -m pip install ipdb

大多数情况下,您可以这样做,您的版本将被识别并安装适当的软件包(即兼容的软件包)。尽管这并非总是如此,但通常情况下会起作用。
pip install ipdb==0.10.2 

指定软件包版本号也是可以接受的,我想指出的是,在这种情况下,您可以在Python 2.7中使用0.10.3版本;我已经安装并且它能正常工作。有些与ipdb相关的软件包需要更高版本的Python,但是已经放置了检查来安装其他版本,这些版本既兼容Python 2.7,也兼容最新版本的ipdb。 enter image description here 更新: 即使官方文档也说它是支持的。也许您遗漏了一些未被拉取的内容?请检查要求以验证是否正确安装了所有内容。
很可能当您第一次安装时(当它最初失败时),还带入了错误版本的必需软件包。
在这种情况下,您需要将它们删除,因为它会尝试使用缓存版本而不是拉取适当的版本。或者至少这是一个可能性。

1
不幸的是,在我的情况下,“python2 -m pip install ipdb”会给出相同的错误。 - Alexander Fedotov
即使官方文档说它被支持了,也许你错过了一些没有拉取的东西?检查要求以验证是否正确安装了所有内容。很可能在第一次安装时,同时带来的必需包是错误版本的,这种情况下,您需要将它们删除,因为它会尝试使用缓存版本而不是拉取适当的版本。 - suroh
我也觉得这很奇怪。我尝试了早期版本的pip - 结果相同。也许原因是虚拟环境。使用系统Python 2.7安装ipdb是成功的。 - Alexander Fedotov

0

我刚刚自己复制了你的问题(尽管我使用的是Python 3.5)。pip install -U ipdb失败并出现了你报告的完全相同的错误。

对我有用的方法是首先明确升级ipythonpip install -U ipython,尽管在你的情况下可能需要首次安装)。然后ipdb就可以(重新)安装成功了。


这对我没用。我尝试使用ipython==5.4,但是ipdb仍然出现相同的错误。 - D Read
我正在运行一个Debian 8.2.0 vagrant box,安装了Python 3.4和pip 9.0.1,并遇到了同样的问题: Python 3.4.2 $ python3 -m 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" ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-1rix8nqv/ipdb/``` 通过pip安装ipython自动解决了ipdb的问题。 - MarkM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接