【问题标题】:What can cause this error("ImportError:No module name site") when embedding python in c?在c中嵌入python时,什么会导致这个错误(“ImportError:No module name site”)?
【发布时间】:2012-05-31 09:46:09
【问题描述】:

我尝试运行this simple tutorial 的第一个示例,以了解如何在 c 应用程序中嵌入 python,但它描述了 Windows 中的所有内容,并且我在 Ubuntu Linux 中工作。

在第一次尝试时,我遇到了分段错误并在 Py_Initialize() 之前添加了两行来克服这个错误:

char pySearchPath[] = ".:myhome";
Py_SetPythonHome(pySearchPath);

现在,当它想要 Py_Initialize() 时出现此错误:“ImportError: No module named site”。

我找到了一些解决方案,例如this,但它们对我不起作用? 我能做些什么来解决这个问题?我也是 Python 的菜鸟。

【问题讨论】:

  • 对不起,如果这个问题很愚蠢,但你真的写了“myhome”吗?
  • myhome 的意思是:/home/xxx。不正确?
  • 如果你真的在你的代码中写了/home/xxx,而这是错误的地方,你很可能会得到你得到的错误。您的模块是否位于此目录中?

标签: c python-embedding


【解决方案1】:

1) 为什么不使用专门针对 Linux 的教程?你引用的文章里有one linked

2) 你确定你了解what Py_SetPythonHome 确实了解吗?它告诉 Python 标准 Python 库在哪里。您似乎不太可能将这些存储在“.:myhome”(如您所写)或“/home/xxx”中。如果您确实有标准 Python 库,请编辑您的问题并发布更多关于您的设置和实际代码的信息。

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多