如何安装pyvmomi?能否在ESXi上安装及相关方法与文档查询
pyvmomi 安装指南及ESXi环境适配方案
一、常规环境安装pyvmomi
- 有pip的环境直接执行:
pip install pyvmomi - 需要指定版本时:
pip install pyvmomi==7.0.3(替换为你需要的版本号)
二、ESXi系统上安装pyvmomi的可行性及操作方法
ESXi默认自带Python(版本依ESXi版本不同为2.7或3.x),虽无pip但可通过离线打包适配的方式安装。直接复制其他环境的pyvmomi文件会因依赖的.so库与ESXi定制内核不兼容报错,以下是可行步骤:
步骤1:确认ESXi的Python版本
登录ESXi Shell,执行:
python --version # 或针对Python3执行 python3 --version
记下输出的版本号,后续打包需匹配该版本。
步骤2:在同架构Linux机器上打包pyvmomi及依赖
找一台x86_64架构的Linux机器(推荐CentOS/RedHat系列,适配ESXi内核),安装与ESXi一致的Python版本,然后:
- 安装对应版本的pip:
# Python2.7用此脚本 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python # Python3.x替换为对应版本的get-pip脚本,比如Python3.7用https://bootstrap.pypa.io/pip/3.7/get-pip.py - 将pyvmomi安装到临时目录:
pip install pyvmomi --target=/tmp/pyvmomi-package - 检查
/tmp/pyvmomi-package下的.so文件,确保均为x86_64 Linux架构编译产物,剔除其他架构的依赖。
步骤3:复制打包文件到ESXi
用scp将打包目录下的所有文件复制到ESXi的Python site-packages目录:
# 示例:Python2.7的目标路径 scp -r /tmp/pyvmomi-package/* root@<ESXi主机IP>:/usr/lib/python2.7/site-packages/ # Python3.x替换为对应路径,比如/usr/lib/python3.7/site-packages/
若目标目录为只读,先执行chmod +w /usr/lib/python2.7/site-packages/开启可写,完成后可改回只读。
步骤4:验证安装
在ESXi Shell中执行Python测试:
import pyvmomi print(pyvmomi.__version__)
无报错则说明安装成功。
三、注意事项
- 不要在ESXi上直接编译依赖,ESXi缺少完整编译工具链,成功率极低
- 优先选择与ESXi自带Python版本匹配的pyvmomi版本,版本不兼容会导致导入失败
- 部分ESXi版本需先解锁Shell权限才能执行上述操作
四、相关文档参考
VMware官方文档中可查询以下内容:
- pyvmomi版本与VMware产品(含ESXi)的兼容性矩阵
- ESXi内置Python运行时的官方说明(搜索关键词“ESXi Python runtime”)
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

