Could not find a version that satisfies the requirement absl-py>=0.1.6 (from tensorflow) (from versions: )
No matching distribution found for absl-py>=0.1.6 (from tensorflow)
这是因为参数--only-binary=:all:
只下载二进制版,而tensorflow依赖的absl-py在PyPI中只有.tar.gz的源码版,没有二进制版。
那能不能不限制--only-binary=:all:
?不行,一旦指定具体的架构,就必须设置--only-binary=:all:
,或者不下载依赖,这是pip install用法的规定,可参考官方Reference: https://pip.pypa.io/en/stable/reference/pip_download/
归根结底,是pip install命令,一旦指定了平台相关的参数,就只能下载二进制package。
到这个地步,若不想手工做,只有一条路:保证online和offline机器架构一样。 所谓架构一样,其实就是四个参数一样:--platform
, --python-version
, --implementation
, and --abi
- platform即操作系统,这个可以通过虚拟机或docker解决
- python-version,可以通过pipenv解决
- implementation,目前一般只考虑cpython
- abi,通过虚拟机或docker吧