【问题标题】:Always download tar.gz from pypi server总是从 pypi 服务器下载 tar.gz
【发布时间】:2018-10-17 15:39:54
【问题描述】:

我有本地 pypi 服务器,我从 https://pypi.org/simple/ 下载包

我运行命令

pip install -d /srv/pypi/ cryptography==2.2.2

它在我的本地 pypi 服务器中安装了 cryptography-2.2.2-cp34-abi3-manylinux1_x86_64.whl

当我尝试使用 pypi 服务器在非 linux 平台上下载包时,它失败了。

然后我下载cryptography-2.2.2.tar.gz并放入本地pypi,就可以正常使用了。

我如何在pip install -d 命令中说始终为该软件包下载tar.gz

【问题讨论】:

  • 你试过--no-binary--no-use-wheel吗?

标签: python pip pypi


【解决方案1】:

指定--no-binary 标志。使用 sdist 进行加密:

pip install --no-binary cryptography cryptography 

使用 sdist 处理一切:

pip install --no-binary :all: cryptography

【讨论】:

  • 如果我们必须安装二进制文件,那么有没有办法告诉他们为 MAC、Linux 和 Win32 安装?
  • pip 将根据 .whl 文件名中的平台标签自动执行此操作
  • 是的,但是我的 pypi 服务器部署在 linux 上,它只为 linux 安装 .whl。有用户使用 windows 和 mac 并使用我们本地的 pypi 服务器。
  • 托管索引的平台无关紧要。您在索引上为所有不同平台上传多个轮子,pip 将在安装时为客户端平台选择正确的一个下载。
  • 我同意,但是当我执行pip install -d /srv/pypi cryptography 时,它只会安装linux wheel,因为我运行该命令的位置是linux,但我不得不说,请为所有平台下载在/srv/pypi
猜你喜欢
  • 2016-11-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2016-09-28
  • 2020-06-17
  • 2013-05-21
  • 2021-09-28
相关资源
最近更新 更多