下面是試圖初始化一個空sys.path
解釋一個CPython的程序:運行Python 3.5解釋器需要哪些標準庫模塊?
#include <Python.h>
int main(int argc, char** argv)
{
wchar_t* program = NULL;
wchar_t* sys_path = NULL;
Py_NoSiteFlag = 1;
program = Py_DecodeLocale(argv[0], NULL);
Py_SetProgramName(program);
sys_path = Py_DecodeLocale("", NULL);
Py_SetPath(sys_path);
Py_Initialize();
PyMem_RawFree(program);
PyMem_RawFree(sys_path);
Py_Finalize();
}
執行上述計劃引發了以下錯誤:
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Current thread 0x00007ffff7fc6700 (most recent call first):
Signal: SIGABRT (Aborted)
所以它在Python包和模塊3.5標準庫除了encodings
包以外,絕對需要運行Python 3.5
解釋器嗎?這些信息對我來說似乎在文檔中是沒有的。
您可以通過運行解釋器然後查看導入模塊的字典來查看它包含的內容。 –