1.检查.py文件路径(注意将.py文件在c++代码中设置)
PyRun_SimpleString("import sys");
//添加Insert模块路径
//设置.py文件所在路径
PyRun_SimpleString("sys.path.append('path')");
2.另一种原因可能是.py文件中import了其他模块: 1)确定这些模型所在位置是c++代码中设定的python所在路径
//设置本机python所在路径
Py_SetPythonHome(L"C:\\Users\\12073\\anaconda3\\envs\\test");
2)查看c++输出栏信息
“testpro2.exe”(Win32): 已卸载“C:\Users\12073\anaconda3\envs\yolo5\DLLs\_ssl.pyd”
“testpro2.exe”(Win32): 已加载“C:\Users\12073\anaconda3\envs\yolo5\DLLs\_ssl.pyd”。无法查找或打开 PDB 文件。
“testpro2.exe”(Win32): 已卸载“C:\Users\12073\anaconda3\envs\yolo5\DLLs\_ssl.pyd”
“testpro2.exe”(Win32): 已加载“C:\Users\12073\anaconda3\envs\yolo5\Lib\site-packages\PIL\_imaging.cp38-win_amd64.pyd”。模块已生成,不包含符号。
报错!!!!!!!!!!!!!!!!!!!
确定报错位置,我的问题出现在导入PIL的时候卡住
在anaconda命令行中查看已安装包
pillow 7.0.0 py36hcc1f983_0 defaults
发现pillow不是采用pypi方式安装,因另一台电脑上发现pillow安装信息与上不同
pillow 8.4.0 pypi_0 pypi
故,卸载pillow后使用pypi重新安装,发现问题解决,仅做记录!
另:需要对pthon代码进行加密的,可采取简单方式—将test.py文件转成test.pd文件,然后新建new.py文件作为接口,将.pd文件import入新的new.py文件中,c++调用new.py即可达到加密效果
|