python - pip:将依赖项下载到特定平台,包括非二进制文件

标签 python installation pip cross-platform

我正在尝试下载 paramiko 的依赖项从 linux 主机到无法访问互联网的 windows 目标。

阅读 pip's documentation 上的示例后我习惯于使用以下命令将依赖项递归下载到 64 位 Windows 平台:

pip3 download --only-binary=:all: --platform win_amd64 --implementation cp paramiko

能够递归下载依赖项,直到到达 pycparser。这并不奇怪,因为我使用过 --only-binary=:all:旗帜。事情是- pip--platform 时强制使用此标志标志通过:
ERROR: --only-binary=:all: must be set and --no-binary must not be set (or must be set to :none:) when restricting platform and interpreter constraints using --python-version, --platform, --abi, or --implementation.

终端产生以下输出:
Collecting paramiko
  Downloading paramiko-2.3.0-py2.py3-none-any.whl (182kB)
    100% |████████████████████████████████| 184kB 340kB/s 
  Saved ./paramiko-2.3.0-py2.py3-none-any.whl
Collecting pynacl>=1.0.1 (from paramiko)
  Using cached PyNaCl-1.1.2-cp35-cp35m-win_amd64.whl
  Saved ./PyNaCl-1.1.2-cp35-cp35m-win_amd64.whl
Collecting cryptography>=1.5 (from paramiko)
  Using cached cryptography-2.0.3-cp35-cp35m-win_amd64.whl
  Saved ./cryptography-2.0.3-cp35-cp35m-win_amd64.whl
Collecting pyasn1>=0.1.7 (from paramiko)
  Using cached pyasn1-0.3.5-py2.py3-none-any.whl
  Saved ./pyasn1-0.3.5-py2.py3-none-any.whl
Collecting bcrypt>=3.1.3 (from paramiko)
  Using cached bcrypt-3.1.3-cp35-cp35m-win_amd64.whl
  Saved ./bcrypt-3.1.3-cp35-cp35m-win_amd64.whl
Collecting cffi>=1.4.1 (from pynacl>=1.0.1->paramiko)
  Using cached cffi-1.11.0-cp35-cp35m-win_amd64.whl
  Saved ./cffi-1.11.0-cp35-cp35m-win_amd64.whl
Collecting six (from pynacl>=1.0.1->paramiko)
  Using cached six-1.11.0-py2.py3-none-any.whl
  Saved ./six-1.11.0-py2.py3-none-any.whl
Collecting asn1crypto>=0.21.0 (from cryptography>=1.5->paramiko)
  Using cached asn1crypto-0.22.0-py2.py3-none-any.whl
  Saved ./asn1crypto-0.22.0-py2.py3-none-any.whl
Collecting idna>=2.1 (from cryptography>=1.5->paramiko)
  Using cached idna-2.6-py2.py3-none-any.whl
  Saved ./idna-2.6-py2.py3-none-any.whl
Collecting pycparser (from cffi>=1.4.1->pynacl>=1.0.1->paramiko)
  Could not find a version that satisfies the requirement pycparser (from cffi>=1.4.1->pynacl>=1.0.1->paramiko) (from versions: )
No matching distribution found for pycparser (from cffi>=1.4.1->pynacl>=1.0.1->paramiko)

有没有办法克服这个问题?我是否必须手动安装非二进制包(及其依赖项)?

谢谢,
乔伊。

最佳答案

您有两个选择:

  • 同平台运行下载操作(注意要一样)
  • 修复主机上的互联网访问

  • 不要尝试其他花哨的方法,否则你会把自己关在脚下:一些依赖项需要编译!

    关于python - pip:将依赖项下载到特定平台,包括非二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46287077/

    相关文章:

    python - 当一行包含另一行的字符串时如何匹配行?

    python - 如何在 wx.Python 或其他 python gui 窗口中打开 HTML JavaScript 页面?

    python - 为 TensorFlow 安装 prettytensor 不适用于 OSX

    c# - 我可以设置 VS10 在构建意外中断时通知我吗?

    python - 构建成功后 pip 不删除源

    python - 没有名为 lxml.html 的模块

    python - python3中如何将字节控制台转换为字符串?

    android - 命令行工具 : could not determine SDK root

    python - pip 包版本 vs redis 实际版本

    具有二进制数据的 python 文件 I/O