如何配置pip install -d命令始终下载cryptography的tar.gz包?
如何指定pip install -d始终下载tar.gz格式的包
问题的根源在于pip默认会优先匹配当前平台的二进制wheel包(也就是你拿到的cryptography-2.2.2-cp34-abi3-manylinux1_x86_64.whl),这类包和平台强绑定,非Linux环境无法兼容。要让pip install -d始终下载跨平台通用的tar.gz格式源码分发包,只需要给命令加上--no-binary参数即可。
直接执行这条命令就能达到目的:
pip install -d /srv/pypi/ --no-binary :all: cryptography==2.2.2
参数细节说明:
--no-binary :all::这个参数告诉pip,对所有涉及的包都跳过二进制包,强制下载源码分发包(sdist)——也就是你需要的tar.gz格式文件。- 如果你只想针对
cryptography单独生效,也可以把参数改成--no-binary cryptography,效果一致,不过:all:的写法更直接,能确保不会意外拿到二进制包。
执行完这条命令后,你的本地PyPI服务器里就会存储cryptography-2.2.2.tar.gz,非Linux平台通过本地服务器下载时,就能正常拉取并在本地编译使用了。
内容的提问来源于stack exchange,提问作者NPatel
相关产品推荐
相关产品推荐

