VS2022 C++项目调用Python PIL模块出现_imaging导入错误求助
解决C++调用Python时Pillow的
_imaging导入错误 排查步骤及解决方案
1. 对齐Python与C++项目的位数
- 先确认你的Python 3.11.4是32位还是64位:打开命令行输入
python -c "import sys; print(sys.maxsize > 2**32)",返回True就是64位,False是32位。 - 打开Visual Studio 2022,把项目的平台目标改成和Python一致的架构:右键项目→属性→配置属性→常规→选择对应的x64或x86平台。
2. 确认Pillow路径正确添加到Python环境
- 找到Python安装目录下的site-packages路径,比如
C:\Python311\Lib\site-packages。 - 在C++代码里添加路径时,用绝对路径且转义反斜杠,示例代码:
或者用正斜杠避免转义:PyRun_SimpleString("import sys; sys.path.append('C:\\Python311\\Lib\\site-packages')");sys.path.append('C:/Python311/Lib/site-packages')
3. 重装匹配版本的Pillow
- 先卸载现有Pillow:
pip uninstall -y pillow - 用当前Python的pip重新安装,确保包和Python位数、版本匹配:
如果还是不行,试试从源码编译安装(需要先装VS的C++编译工具):pip install --no-cache-dir pillowpip install --no-cache-dir --force-reinstall pillow --no-binary :all:
4. 配置Python的DLL路径到系统环境
- 确保系统PATH里有Python的根目录和Scripts目录,比如
C:\Python311和C:\Python311\Scripts。 - 也可以直接在VS项目里设置:右键项目→属性→配置属性→调试→环境,添加
PATH=C:\Python311;C:\Python311\Scripts;%PATH%
5. 先验证Python脚本本身是否正常
- 直接在命令行跑
python Temp.py,看能不能正常导入PIL.Image。如果命令行没问题,那肯定是C++调用时的环境配置没弄对。
内容的提问来源于stack exchange,提问作者HongJiHyujn
相关产品推荐
相关产品推荐

