在 C++ 中嵌入 python 时出现 AttributeError (Ubuntu)

在 c++ 中嵌入 python 时出现 attributeerror (ubuntu)

问题内容

我有一个嵌入 python3.11.2 的 c++ 程序。从嵌入式 python 调用 python 脚本(导入第 3 方模块以及标准库模块)时,出现以下错误:

excType: 'AttributeError'excValue: AttributeError("module 'abc' has no attribute '__file__'")excTraceback: 

登录后复制

当我从普通(非嵌入式)python 运行脚本时,一切正常,并且还能够找到 abc 模块的文件属性。

我使用以下配置从源代码编译了 python3.11.2:–enable-optimizations –enable-shared –prefix=”路径/到/我的/自定义/构建/文件夹/

奇怪的是,我的脚本导入的每个第 3 方模块都有一个 file 属性并且加载正常。

有人对造成这种情况的原因有任何见解吗?

立即学习“Python免费学习笔记(深入)”;

我的操作系统:ubuntu 22.04.3

我测试了其他标准库模块,例如 os.如果我从嵌入式 python 调用操作系统中的函数,它工作正常,但找不到操作系统的 file 属性。如果我从非嵌入式 python 执行此操作,它确实会找到 file 属性。

更新:我刚刚发现嵌入式 python 有一个空前缀。我怎样才能更改这个前缀?设置 pythonhome 不会改变任何东西。

正确答案

我通过手动添加模块的 file 属性找到了解决方法。我仍然不明白为什么默认情况下没有设置 file 属性,但这现在对我有用。

以上就是在 C++ 中嵌入 python 时出现 AttributeError (Ubuntu)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2530730.html

(0)
上一篇 2025年3月5日 20:04:53
下一篇 2025年2月26日 07:26:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论