首页 > 解决方案 > 尝试使用“python setup.py install”安装 Pyramid 包时搜索包时出错

问题描述

我正在开发一个必须部署在 Debian 7 服务器中的 Pyramid 项目。

Debian 7 服务器具有来自归档存储库的 python 版本 2.7.3。

使用命令创建虚拟环境后virtualenv,此 virtualenv 中安装的 pip 版本为 1.1。

首先要注意:我无法使用pip install --upgrade pip. 该版本未更新,仍为 1.1 版本。

安装安装项目所需的操作系统包后,我运行python setup.py install但出现错误:

Searching for zipp==0.5
Reading http://pypi.python.org/simple/zipp/
Couldn't find index page for 'zipp' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading http://pypi.python.org/simple/
No local packages or download links found for zipp==0.5
error: Could not find suitable distribution for Requirement.parse('zipp==0.5')

因此,该python setup.py install命令无法识别该zipp包。

我认为这与旧版本的 pip (1.1) 有关。所以我可以使用以下index-url选项成功更新 pip 版本:

$ pip install --index-url https://pypi.python.org/simple --upgrade pip

将 pip 版本从 1.1 更新到 20.3b1。然后我又试python setup.py install了一次,还是出现了同样的错误。

我可以看到,在更新 pip 版本后,zipp==0.5.0如果我运行pip install zipp==0.5.

我是 Pyramid 和使用 setup.py 模块安装包的新手。我不明白为什么我可以使用安装 zipp 包pip而不能使用python setup.py install.

我没有把 setup.py 的内容放在这里,因为我认为这不是 setup.py 脚本的问题。在 Ubuntu 18.04 机器上使用更新版本的 python 和 pipsetup.py就像一个魅力。

有人可以解释如何解决这个问题吗?

标签: python-2.7pippyramidsetup.py

解决方案


直接运行的时候python setup.py install,你没有使用pip,所以你安装的pip版本是无关紧要的。此命令已过时,不应使用等。正确的答案是pip install .用作替换python setup.py installpip install -e .替换python setup.py develop.

关于您所看到的,当您使用bundled withpython setup.py install的版本运行它时,与PyPI 对话并安装依赖项。出于很多原因,应该避免这种情况,但只要知道要覆盖它使用的 url,它们就会进入并且与 pip 无关。HTTPS 是您看到的一个问题,另一个是旧版本的 Python 没有正确的 CA 信任库,也不支持与 PyPI 握手所需的最低 TLS 1.2。因此,使用旧工具会出现很多问题 - 至少尝试使用 pip 而不是 easy_install。easy_installsetuptools~/.pydistutils.cfg


推荐阅读