受控虚拟机环境下Python安装pysftp包依赖循环问题求助
解决方案
核心思路是绕开源码编译环节,全部使用预编译的.whl格式安装包,通过--no-deps参数跳过旧版pip的依赖检查,按顺序安装基础工具后再装业务依赖。
步骤1:在外网准备所有安装包
找一台可以联网、且安装了相同版本Python3.7的设备,执行以下命令自动拉取pysftp全量依赖的预编译包:
pip wheel pysftp -d ./sftp_packages
执行完成后,./sftp_packages目录下会生成所有需要的.whl文件,包含pip、setuptools、wheel、bcrypt、paramiko、pysftp等全量依赖,不用手动逐个找版本匹配的包。将整个文件夹拷入受控虚拟机的本地目录(比如C:\sftp_packages)。
如果没有可用的联网同版本Python环境,手动下载以下匹配Python3.7和你的Windows系统架构(32位/64位)的.whl包即可:
- wheel(通用无架构限制)
- setuptools(通用无架构限制)
- pip(通用无架构限制)
- bcrypt(匹配cp37和系统架构)
- paramiko(匹配cp37和系统架构)
- pysftp(通用无架构限制)
步骤2:安装基础构建工具
打开虚拟机命令行,依次执行以下命令,全程加--no-deps参数跳过依赖检查,避免循环报错:
- 安装wheel:
pip install --no-deps C:\sftp_packages\wheel-*.whl - 安装setuptools:
pip install --no-deps C:\sftp_packages\setuptools-*.whl - 升级pip:
pip install --no-deps --upgrade C:\sftp_packages\pip-*.whl
执行完成后运行pip -V确认pip版本已升级到最新版,基础环境配置完成。
步骤3:安装pysftp及相关依赖
按依赖顺序依次安装剩余包,无需再加--no-deps:
- 安装bcrypt:
pip install C:\sftp_packages\bcrypt-*.whl - 安装paramiko:
pip install C:\sftp_packages\paramiko-*.whl - 安装pysftp:
pip install C:\sftp_packages\pysftp-*.whl
安装完成后运行python -c "import pysftp"无报错即可正常使用。
内容的提问来源于stack exchange,提问作者User56756
相关产品推荐
相关产品推荐

