online和offline机器架构完全相同
这种情况比较简单:
-
直接在online机器执行如下命令,下载所有依赖package到当前目录:
pip download tensorflow -
将目录内容拷贝到目标offline机器(比如/offline_package_dir),并目标offline机器执行
pip install --no-index --find-links=file:/offline_package_dir tensorflow
由于两个机器架构完全一样,因此download的package在目标机器一定可以安装。
online和offline机器架构不同
这种情况比较复杂,因为机器架构不同,直接用pip download tensorflow下载的package在目标机器很可能不适用。
使用docker创建一个和目标机器架构相同的容器,在容器内安装和目标机器一样的Python版本,然后在容器内按第1种情况处理。 以我的例子:
- 先启动目标系统的docker镜像(这里以Ubuntu为例),并映射package下载目录
docker run -it -v /offline_tensorflow_py3:/package ubuntu /bin/bash - 在容器内安装python
apt-get update && apt-get install python python-pip - 接下来同2.1步骤一样