Python:为离线主机安装所需Python模块

背景

    当我们在编写运维脚本,尤其是编写一些采集脚本时,通常会使用yaml模块,但yaml模块不是python预装模块,需要自行安装才可以使用。同时我相信大多数的同仁所处的环境都是无法连接互联网的,所以我将介绍如何给离线主机(无法连接互联网的主机)安装PyYAML模块。

使用pip方式安装

1,下载PyYAML

在可以上互联网的同系统同版本的主机中使用pip下载所需包

[root@test-ys]# which python3
/usr/bin/python3
[root@test-ys]# ll /usr/bin/python3
lrwxrwxrwx 1 root root 30 3月   8 23:40 /usr/bin/python3 -> /usr/local/python3/bin/python3
[root@test-ys]# cd /usr/local/python3/bin/
[root@test-ys bin]# ll
...
-rwxr-xr-x 1 root root      237 3月   8 23:28 pip3
...
[root@test-ys bin]# ./pip3 download PyYAML -d /tmp/PyYAML/
[root@test-ys bin]# ll /tmp/PyYAML/
总用量 720
-rw-r--r-- 1 root root 736569 7月  25 22:12 PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

2,安装PyYAML

将包导入到目标主机中,然后安装

[root@test-ys bin]#  pip3 install /tmp/PyYAML/PyYAML-6.0.1-cp38-cp38-
### 如何使用 `pip` 下载 Python 离线安装包 对于无法连接互联网的计算机,可以通过其他联网设备预先下载所需Python 包及其依赖项,并将其传输至目标机器完成安装。 #### 方法一:直接下载 `.whl` 文件并离线安装 当已知具体版本需求时,可以直接访问 PyPI 官方仓库获取对应格式(如`.whl`)文件。例如: ```bash # 联网环境中执行此命令以下载特定版本的 wheel 文件 wget https://files.pythonhosted.org/packages/.../somepackage-version-py3-none-any.whl ``` 随后,在无网络连接的目标主机上运行如下指令来进行安装操作: ```bash python -m pip install /path/to/somepackage-version-py3-none-any.whl ``` 这种方式适合于单个软件包的情况;而对于有多个复杂依赖关系的应用场景,则推荐采用更通用的方法[^2]。 #### 方法二:批量导出与导入依赖库 为了确保所有必要的组件都被正确处理,建议先在一个具备上网条件的工作站中创建一个包含所需资源的压缩包。这通常涉及两个主要步骤——冻结当前虚拟环境中的配置以及依据清单抓取相应资料。 1. **生成依赖列表** 利用 `pip freeze` 命令记录下现有项目的全部外部扩展名目,形成文本形式的要求文档 (`requirements.txt`)。 ```bash pip freeze > requirements.txt ``` 2. **按需收集离线资源** 接着借助 `pip download` 工具读取上述定义好的规格说明,自动检索匹配的对象存入指定位置供后续调用。 ```bash pip download -r requirements.txt -d ./offline_packages/ ``` 最终将这些预置的数据迁移到封闭系统内部后,只需简单调整几行脚本就能顺利完成部署工作: ```bash pip install --no-index --find-links=./offline_packages -r requirements.txt ``` 以上过程不仅简化了跨平台迁移流程,还有效规避了因临时断开而引发的各种异常状况的发生概率[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值