ubuntu在线服务器python Package安装到离线服务器的方法是什么

1、在线服务器导出requirement.txt

pip freeze > requirement.txt

该文件生成完毕后,需要做些修改,去掉不需要的库,否则下载的时候会出错。

2、下载whl文件 -> packages

pip download -r requirement.txt -d packages
pip download -r requirement.txt -d packages -i https://pypi.tuna.tsinghua.edu.cn/simple/

下载完成后packages文件夹包含所有的whl文件。

3、离线服务器ubuntu20.04 查看是否包含python pip

这个版本的服务器已经安装python3.8.5,但是没有安装pip,从而导致安装whl文件失败。

没有python的则需要自行安装。

4、离线安装pip

安装pip的话需要提前安装setuptools,所以需要下载两个包。

------下载

setuptools

pip

需要注意对应的python版本

我下载的是setuptools==45.2.0 pip==23.1 他们都是要求python>=3.7,最开始我下载的是setuptools==67.6.1,但是出现了问题,最后我选择了45版本。

-----解压安装setuptools

tar -xvzf setuptools-45.2.0.tar.gz
cd setuptools-45.2.0
python3 setup.py install

出现了问题 No module named 'distutils.core'

百度了一圈发现是少了插件,离线的话又需要重新下载安装

python3-distutils地址:https://pkgs.org/search/?q=python3-distutils 有时候需要人机检验,搜索完成后,选择服务器版本与python版本,大致对应即可

查看需要的依赖

还需要python3-lib2to3这个,因为python已经有了,直接点击进去也是选择对应版本即可。

插件下载地址是在download部分

直接打开http://archive.ubuntu.com/ubuntu/pool/main/p/python3-stdlib-extensions/python3-distutils_3.8.2-1ubuntu1_all.deb 这个链接开始下载python3-distutils_3.8.2

同理打开http://archive.ubuntu.com/ubuntu/pool/main/p/python3-stdlib-extensions/python3-lib2to3_3.8.2-1ubuntu1_all.deb 下载python3-lib2to3_3.8.2

下载完成后上传至同一目录

----安装setuptools依赖

sudo dpkg -i *.deb

安装完成后再安装setuptools,安装完成后import 看看有没有问题。

-----解压安装pip

setuptools安装成功后就可以安装pip了

tar -xvzf pip-23.1.tar.gz
cd pip-23.1
python3 setup.py install

安装完成后执行pip list 查看成功与否

------安装所有whl文件

当离线服务器pip准备就绪后就可以安装了

pip install --no-index --find-links=packages -r requirement.txt

执行完毕后,pip list查看,如果没问题则转移成功。

以上就是ubuntu在线服务器python Package安装到离线服务器的方法是什么的详细内容,更多请关注其它相关文章!