【问题标题】:Error installing ipdb for Python 2.7 using virtualenv and pip使用 virtualenv 和 pip 为 Python 2.7 安装 ipdb 时出错
【发布时间】:2017-05-14 14:33:21
【问题描述】:

当我尝试安装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)

【问题讨论】:

    标签: python python-2.7 pip virtualenv ipdb


    【解决方案1】:

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

    $ pip install ipdb==0.10.2
    

    【讨论】:

    • 您也可以更新您的 Python 版本,因为错误消息仍然存在。
    • 到版本 3?对于现有项目来说,它可能是工作密集型的。但是ipdb 是否停止支持 2.7? pypi.python.org/pypi/ipdb - 此页面没有说明任何内容
    • 如果您查看我的回答,您会发现 ipdb 0.10.3 确实适用于 python 2.7;如果你想升级那个包 python -m pip uninstall ipdb ;然后运行 ​​python2 -m pip install ipdb。它应该可以正常工作...
    • 我知道这是一个旧线程。但我注意到您关于在 2.7 和 3+ 之间切换是工作密集型的评论。你是对的,但是 python 2 将在几年内消亡,大多数主要库都在移植它们的模块以兼容 3+,许多甚至承诺完全放弃对 python 2.7 的支持。你可能想趁现在还比较容易改过来。
    【解决方案2】:

    我看到了你的答案,它是有效的我还想补充一点。

    1. 出现此问题是因为您使用的是 python 2.7,并且最新版本的 ipdb 包含需要 python 3+ 的软件包。

    您可以执行以下操作,而不是指定版本

    python2 -m pip install ipdb
    

    大多数时候您可以这样做,您的版本将被识别并安装适当的包(即兼容的包)。

    虽然情况并非总是如此,但它的工作频率更高。

    pip install ipdb==0.10.2 
    

    也可以接受,因为您要指定包本身的版本号。但是我会指出,在这种情况下,您可以将 0.10.3 与 python 2.7 一起使用;它已安装并且对我来说工作正常。有一些与 ipdb 相关的软件包需要更高版本的 python,但需要检查以安装与 python 2.7 兼容的其他版本。和最新版本的 ipdb。

    更新:

    甚至官方文档都说它受支持。也许你错过了一些没有被拉出来的东西?检查要求以验证所有内容都已正确安装。

    很可能当您第一次安装它时(当它最初失败时),同时引入的所需软件包也适用于错误的版本。

    在这种情况下,您需要删除它们,并且它会尝试使用它们的缓存版本而不是拉取适当的版本。或者至少这是一种可能性。

    【讨论】:

    • 不幸的是,python2 -m pip install ipdb 在我的情况下给出了同样的错误
    • 官方文档也说支持。也许你错过了一些没有被拉出来的东西?检查要求以验证所有内容都已正确安装。很可能当您第一次安装它时,所带来的所需软件包也是错误的版本,在这种情况下,您需要删除它们,并且它会尝试使用它们的缓存版本而不是拉取适当的版本那些。
    • 我也觉得这很奇怪。我尝试了早期版本的 pip - 结果相同。也许,原因是 virtualenv。使用系统python 2.7 安装ipdb 成功
    【解决方案3】:

    我只是自己复制了您的问题(尽管我使用的是 Python 3.5)。 pip install -U ipdb 失败,与您报告的错误完全相同。

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

    【讨论】:

    • 这对我不起作用。我试过 ipython==5.4 和 ipdb 失败并出现同样的错误。
    • 我正在运行一个安装了 Python 3.4 和 pip 9.0.1 的 Debian 8.2.0 vagrant box,并且遇到了同样的问题:$ python3 --version 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-installing ipython 自动拉入 ipdb 没有问题。
    猜你喜欢
    • 1970-01-01
    • 2012-12-22
    • 2015-08-18
    • 2018-10-14
    • 1970-01-01
    • 2014-12-22
    • 1970-01-01
    • 2020-10-09
    • 2014-12-03
    相关资源
    最近更新 更多