即使系统路径是s,PyImport\u ImportModule也始终返回NULL

2024-09-29 23:15:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Ubuntu 17.10中编写一个简单的C/C++程序,用embedding调用python函数。但是,它总是抱怨无法使用PyImport_ImportModule导入模块。在

我在cpp文件中包含了Python.h,并按如下方式编译它:

g++ -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/ -g -o main main.cpp -I/usr/include/python3.6 -lpython3.6

我尝试过以下方法,但都不管用:

  1. 使用PySys_GetObjectPyList_Insert将当前路径添加到path(根据这个link
  2. 设置PYTHONPATH=/tmp,然后运行主程序(根据这个link

/tmp公司/主.cpp在

^{pr2}$

/tmp公司/你好.py在

class hello(object):
    def __init__(self):
        print("Hello world: init")

    def hello(self):
        print("Hello world: hello")

有人能告诉我为什么在我的简单程序中PyImport_ImportModule总是返回NULL?在

非常感谢!在


Tags: self程序helloinitmainusrdeflink

热门问题