【问题标题】:Python C API use WinPython Python interpreter instead of standard python interpreterPython C API 使用 WinPython Python 解释器而不是标准的 Python 解释器
【发布时间】:2016-11-10 00:16:03
【问题描述】:

当将 Python 嵌入到我的 C/C++ 应用程序中时,我如何正确使用在根目录“Wi​​nPython-64bit-3.4.4.1”中找到的 WinPython 的 Python 解释器,而不是在下一级找到的 Python 解释器在“WinPython-64bit-3.4.4.1/python-3.4.4.amd64”中?

当我尝试使用“WinPython-64bit-3.4.4.1/python-3.4.4.amd64”中的 python 解释器时,我无法成功运行我的模块。但是,当我使用根目录中的 python 解释器运行模块时,我能够正确运行我的模块。

我尝试将“WinPython Interpreter”重命名为“python”,然后设置 python 主页:

wchar_t PythonHome[1024];
std::wcsncpy(PythonHome, L"C:\\Users\\jchen114\\Lasagne\\WinPython\\WinPython-64bit-3.4.4.1", 1024);
Py_SetPythonHome(PythonHome);
Py_Initialize();

使用标准 python 解释器运行模块时遇到的错误是关于一个

"C:\dev\MinGW\bin\g++.exe" -shared -g ... sorry, an unimplemented: 64-bit mode not compiled in 
#include <Python.h>
^

这是否意味着我只需要一个 64 位 g++ 编译器?

请指教。

【问题讨论】:

  • 没有语言 C/C++。只有不同的语言 C 和 C++!当您询问 C API 时,我删除了错误的标签。如果您使用 C++,请随意将标签更改为 C++。
  • 对。但这个问题对两者都适用。
  • 在二读时,您显然使用了 C++ 编译器,所以不,它没有!但我将标签更正为 C++。

标签: python c++ python-embedding


【解决方案1】:

为了解决这个问题,WinPython 附带了一个 g++ 编译器,它使用它。它在脚本文件夹中。如果你把它放在你应该做的伎俩的路径中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-03
    • 2014-11-21
    • 1970-01-01
    • 2019-12-03
    • 2015-07-21
    • 2010-10-06
    • 2010-12-01
    • 1970-01-01
    相关资源
    最近更新 更多