离线安装Python的依赖环境-Marker
背景
需要在一台含GPU的服务器上安装Marker地址,服务器已经安装了GPU驱动。
但是因为没有网络环境,无法通过pip直接安装该应用及其依赖。
因此需要先将依赖在有网络环境的电脑服务器中下载,然后导入到离线服务器中。
操作流程
环境介绍
- 服务器:
- 操作系统:centos
- python版本:3.10.16
- 本机:
- 操作系统:windows11
准备虚拟机
这里最初我尝试在本机上,通过如下命令下载
pip download --platform=manylinux1_x86_64 --only-binary=:all: --python-version=3.10.16 marker-pdf
但是下载过程提示找不到符合要求的包,原因不明。最终我还是选择重新创建一个相同环境的centos虚拟机,模拟相同操作系统进行下载。
虚拟机python环境安装
我这里直接使用root用户下载python安装包,在python官网首页可以找到对应版本的下载。
如果是较老版本的python,官网不再提供直接安装包,需要下载后编译。
编译过程其实也比较简单,解压后执行如下命令即可。
./configure --enable-optimizations
make
make install
需要注意的是,如果安装的虚拟机操作系统已经有了python,可以先将其卸载掉,避免冲突。
包依赖下载
通过如下命令下载原包
#-d 指定下载到指定目录
pip download --only-binary=:all: -d=/root/pdf marker-pdf==1.8.1
cuda版本的pytorch下载:
pip3 download torch==2.7.1 torchaudio==2.7.1 torchvision --only-binary=:all: -d /root/pdf -f https://mirrors.aliyun.com/pytorch-wheels/cu128
实际操作时,发现由于服务器上之前安装的部分包依赖的numpy版本与该包不一致,所以额外下载了如下依赖:
pip3 download numba==0.60.0 --only-binary=:all: -d /root/pdf
包安装
将下载的依赖包全部上传到服务器中,由于用到torch等包,大小比较大。
进入到包的目录中,使用如下命令安装:
pip3 install --no-index --find-links=. numba
pip3 install --no-index --find-links=. marker-pdf
问题调试
碰到的问题总结一下:
- windows环境下包下载不下来:通过创建模拟器模拟相同环境
- numpy版本不匹配:通过错误打印日志,确认不匹配的包。在虚拟机中单独下载,传到服务器安装。
- cuda依赖包下载:使用阿里的镜像源
https://mirrors.aliyun.com/pytorch-wheels

浙公网安备 33010602011771号