【求助】VS2017下C++调用python,import .pyd模块报错

戏外老罗 2020-02-09 10:31:24
python脚本在pycharm,或者是命令行直接运行都没有问题。但是在VS2017环境下调用报错,提示No module named****。
分析了一下,发现是一个_ctypes.pyd这个模块无法引用,该模块位于Python\DLLs目录下,进一步看了一下,该目录下的全部pyd模块都无法引用,但是在该目录下的py模块可以被引用,所以确定不是路径包含的问题,通过sys.path也查看证实DLLs目录在索引路径中。
再进一步测试,如果python脚本中不import pyd模块VS2017环境下调用完全没有问题。只要import pyd就出问题。百思不得其解。
...全文
967 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
戏外老罗 2020-02-10
  • 打赏
  • 举报
回复
其实本来问题不会纠偿了两三天。回顾了一下问题产生的过程:
1. 回想了一下,最初我的配置是没有问题的,python37.lib添加了。但是一直出问题,所以怀疑是路径的问题,各种环境变量改了无数次,工程重建了无数次,但总是无法解决,搞到最后,自己都搞忘了有没有执行这一步。
2. 昨天冒死跑到公司拿了台新电脑回家,重新安装各种环境,重新整理思路,发现可以了,开始对比工程配置,才发现漏了这一处。
3. 昨天晚上不死心,把原来电脑上的工程按照正确的过程捯饬一遍,还是不好。又有点怀疑了。但是原来电脑不论我怎么捯饬就是搞不定。于是乎怀疑是不是这台电脑上乱七八糟的开发环境太多了出现配置冲突,但是自己又排查不出来。。。
4. 搞到半夜把电脑重装,先只把VS,python的环境恢复,按照正确的过程做好工程配置,问题也修复了。
戏外老罗 2020-02-10
  • 打赏
  • 举报
回复 1
自问自答一下吧,问题终于解决了。需要将python37.lib添加为附加依赖项(项目--》属性--》链接器--》输入)。虽然在链接器--》常规中已经将整个libs目录设定为附加目录库,但是不要忘记把python37.lib作为附加依赖项添加进去。

37,742

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧