最近碰到一个问题, 需要从 Windows 7 机器下载 Python 包, 并安装到Linux机器上。这里需要用到 pip 的离线下载,离线安装功能。 终极方法是下载 pypi 安装包。
在 Windows 机器下载指定平台的包
先得到依赖的清单 requirements.txt, 这个命令, 会获取所有直接和间接的依赖(传递依赖)
pip freeze > requirements.txt
然后开始下载:
pip download -d unix-env\pkgs --cache-dir unix-env\cache --platform linux_x86_64 --only-binary=:none: --no-deps -r requirements.txt
注意, 有的包只有源码, 或者只有二进制,需要切换 :none: => :all: , 并注释掉 requirements.txt 相关内容重跑。
pip download -d unix-env\pkgs --cache-dir unix-env\cache --platform linux_x86_64 --only-binary=:all: --no-deps -r requirements.txt
从源码构建 Python 3.6
从官网下载 python 源码, 并执行:
./configure --prefix=_py_dir_
make install
运行结束后, py_dir/bin 即包含 python3 pip3 等可执行文件, 加到 PATH 变量
pip install 离线安装
以下命令,一般能解决大部分问题:
pip install --no-index --find-links /path/to/download/dir/ -r requirements.txt
但有的包, 必须去官网下载wheel文件, 特殊处理, 比如这个: cffi
如何找对版本:
import pip
print(pip.pep425tags.get_supported())
发现 cffi-1.11.5-cp36-cp36m-manylinux1_x86_64.whl 才是合适的版本, 执行:
pip install cffi-1.11.5-cp36-cp36m-manylinux1_x86_64.whl
安装完成.
网友评论