我必须管理两个独立的 Python 设置,一个位于具有互联网连接的 Linux 计算机上,另一个位于离线 Windows 计算机上。对于给定的一组所需软件包,我想在 Linux 计算机上下载必要的文件,将它们传输到 Windows 计算机并安装在那里。
以下内容按预期工作:
pip3 download virtualenv --platform win_amd64 -d py_packages_20180222/ --only-binary=:all:
Run Code Online (Sandbox Code Playgroud)
文件virtualenv-15.1.0-py2.py3-none-any.whl已下载到所需位置,并准备传输。但是,如果 pip 找不到二进制文件,则会产生错误:
pip3 download ipython --platform win_amd64 -d py_packages_20180222/ --only-binary=:all:
Could not find a version that satisfies the requirement simplegeneric>0.8 (from ipython) (from versions: )
No matching distribution found for simplegeneric>0.8 (from ipython)
Run Code Online (Sandbox Code Playgroud)
这是由于设置而产生的预期输出--only-binary=:all:,但这不是我想要的输出。在这种情况下,我想pip下载源代码(带有警告)并继续。我本质上是在寻找这个pip选项--only-binary=:if_available:。这存在吗?
编辑: 不,不是。感谢已接受的答案,我能够使用以下 bash 脚本找到解决方案:
#!/usr/bin/env python3
import subprocess
pkges = ['virtualenv',
'ipython']
for pkg in …Run Code Online (Sandbox Code Playgroud)