首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用requirements.txt安装时,pip拒绝二进制文件

使用requirements.txt安装时,pip拒绝二进制文件
EN

Stack Overflow用户
提问于 2021-02-26 08:50:48
回答 1查看 317关注 0票数 2

为什么Python pip在从requirements.txt安装包时拒绝二进制文件?

我没有使用--no-binary,也没有发现任何提到这可能是默认的。在没有requirements.txt的情况下安装时肯定不是这样。

当我以这种方式安装django-silk包时,它成功了:

代码语言:javascript
复制
pip install -v django-silk==4.1.0

但是,当django-silk==4.1.0在我的requirements.txt中时,我运行以下命令行:

代码语言:javascript
复制
pip install -v -r requirements-prod.txt

我得到以下日志:

代码语言:javascript
复制
(...)
  Skipping link: No binaries permitted for django-silk: (...)
  Found link (...) version: 3.0.4
  Skipping link: No binaries permitted for django-silk: (...)
  Found link  (...) version: 4.0.0
  Skipping link: No binaries permitted for django-silk: https://files.pythonhosted.org/(...)/django_silk-4.0.0-py2.py3-none-any.whl (...)
  Skipping link: No binaries permitted for django-silk: https://files.pythonhosted.org/(...)/django_silk-4.0.1-py2.py3-none-any.whl (...)
  Skipping link: No binaries permitted for django-silk: https://files.pythonhosted.org/(...)/django_silk-4.1.0-py2.py3-none-any.whl (...)
Given no hashes to check 0 links for project 'django-silk': discarding no candidates
(...)
pip._internal.exceptions.DistributionNotFound: No matching distribution found for django-silk==4.1.0

为什么pip决定No binaries permitted for django-silk

更新:问题似乎不是requirements.txt文件本身的问题,而是requirements.txt还包含另一个包的事实:

代码语言:javascript
复制
PyYAML --global-option="--with-libyaml" ; sys_platform != 'win32'
django-silk==4.1.0

因此,显然,PyYAML必须从源代码中安装,这使得pip也忽略了django-silk的二进制包。为什么会发生这种事?

备注:I正在使用Python 3.7.5pip 21.0.1.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-26 11:35:45

原来这是由pip中的一个bug引起的

“--全局-要求文件中的特定要求的选项禁止在全球范围内使用车轮”

https://github.com/pypa/pip/issues/4118

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66382736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档