Windows环境Odoo模块依赖pysftp安装及bcrypt DLL加载失败问题
解决Windows上Odoo模块使用pysftp的依赖及bcrypt DLL加载失败问题
我之前在Windows部署Python项目时也碰到过一模一样的bcrypt DLL加载失败问题,这大概率是因为Windows缺少必要的编译环境,或者pip默认安装的源码包没有正确生成适配的二进制文件。下面是一步步的实操解决办法:
第一步:先把pip更新到最新版本
旧版本的pip经常会在处理预编译二进制包时出问题,先升级它:
python -m pip install --upgrade pip
第二步:用预编译二进制包安装全套依赖
Windows上直接跑pip install pysftp容易因为缺少C++编译环境,导致bcrypt、cryptography这类依赖安装不完整。推荐先装wheel工具,再强制用预编译包安装:
- 安装wheel工具(用来处理预编译的二进制包):
pip install wheel
- 重新安装pysftp,让pip自动拉取适配Windows的预编译依赖:
pip install pysftp --force-reinstall
如果单独安装bcrypt还是报错,可以直接指定版本并强制用二进制包:
pip install bcrypt==4.0.1 --only-binary :all:
提示:
--only-binary :all:是关键,它会强制pip跳过源码编译,直接下载已经编译好的Windows适配包,彻底避免DLL生成失败的问题。
第三步:安装微软Visual C++运行库
bcrypt这类加密库依赖微软的Visual C++ Redistributable运行库,如果你的系统没装,就算包安装成功也会找不到DLL。去微软官网下载对应你系统位数的Visual C++ Redistributable for Visual Studio 2015-2022,安装完成后重启电脑。
第四步:验证依赖是否正常
打开Python命令行,输入以下命令测试:
import bcrypt import pysftp
如果没有报错,说明依赖安装没问题,再启动Odoo应该就不会出问题了。
额外注意事项
- 确保你的Python版本和依赖包版本兼容:比如Python 3.10+建议搭配bcrypt 4.x版本;
- 如果用的是Odoo自带的Python环境(比如安装包自带的Python),一定要用Odoo目录下的
python.exe来执行pip命令,避免用系统全局的Python环境,比如:
C:\Program Files\Odoo\16.0\python\python.exe -m pip install pysftp
内容的提问来源于stack exchange,提问作者Ancient
相关产品推荐
相关产品推荐

