天天看點

PyImport_ImportModule 傳回空NULL py子產品import其他庫

問題描述

執行下列代碼,

PyImport_ImportModule()

總傳回空NULL。

Py_SetPythonHome(L"C:/Program Files/Python38");
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
PyObject i = PyImport_ImportModule("test_one");
Py_Finalize();
           
/*
test_one.py
*/
from PIL import Image
import os
import matplotlib.pypolt

print("hello!")
           

問題出在test_one.py檔案,如果test_one不import其他庫,代碼運作正常,但一import其他庫,

PyImport_ImportModule("test_one")

就會傳回空。

但是,

import os

不受影響,可以使用而不導緻

PyImport_ImportModule("test_one")

傳回空。

出錯原因

vs 連結器-輸入-附加庫目錄沒有添加python38.lib,添加後代碼運作正常。

vs配置:

包含目錄:

C:\Program Files\Python38\includes

庫目錄:

C:\Program Files\Python38\libs

附加庫目錄:

python38.lib