离线安装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

问题调试

碰到的问题总结一下:

  1. windows环境下包下载不下来:通过创建模拟器模拟相同环境
  2. numpy版本不匹配:通过错误打印日志,确认不匹配的包。在虚拟机中单独下载,传到服务器安装。
  3. cuda依赖包下载:使用阿里的镜像源https://mirrors.aliyun.com/pytorch-wheels

posted @ 2025-07-09 09:08  mosakashaka  阅读(87)  评论(0)    收藏  举报