Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行脚本时使用C++#1693 我在我的C++应用程序中使用Python 39,使用静态链接,调用Python脚本使用Wi32管道和Wi32文件。每次运行时,我都会执行一个错误ImportError:DLL加载在导入win32file时失败:找不到指定的模块。。模块的所有路径都是通过PyConfig配置的,因此 wchar\u t*filename=Py\u DecodeLocale(argv[0],nullptr); 自动pySysPath=\u getPySysPath(); std::wstring pathVar=pySysPath; 常量wchar_t*path=_wgetenv(L“path”); 如果(路径){ pathVar+=path; } Py_SetPath(pathVar.c_str()); Py_SetPythonHome(_wgetenv(L“PYROOT”); Py_SetProgramName(文件名); PyConfig-PyConfig; PyConfig_InitIsolatedConfig(&PyConfig); PyConfig_SetBytesArgv(&PyConfig,argc,argc?argv:nullptr); PyConfig_SetString(&PyConfig,&PyConfig.pythonpath_env,pySysPath.c_str()); PyConfig_SetString(&PyConfig,&PyConfig.program_name,pyProgramName); Py_DebugFlag=true; pyConfig.isolated=false; pyConfig.dev_mode=true; pyConfig.verbose=2; pyConfig.parse_argv=true; pyConfig.dev_mode=true; pyConfig.use_environment=true; pyConfig.write_字节码=true; 自动状态=Py_InitializeFromConfig(&pyConfig); if(PyStatus_异常(状态)){ Py_ExitStatusException(状态); }_Python_C++_Python 3.x_Cpython_C Api - Fatal编程技术网

执行脚本时使用C++#1693 我在我的C++应用程序中使用Python 39,使用静态链接,调用Python脚本使用Wi32管道和Wi32文件。每次运行时,我都会执行一个错误ImportError:DLL加载在导入win32file时失败:找不到指定的模块。。模块的所有路径都是通过PyConfig配置的,因此 wchar\u t*filename=Py\u DecodeLocale(argv[0],nullptr); 自动pySysPath=\u getPySysPath(); std::wstring pathVar=pySysPath; 常量wchar_t*path=_wgetenv(L“path”); 如果(路径){ pathVar+=path; } Py_SetPath(pathVar.c_str()); Py_SetPythonHome(_wgetenv(L“PYROOT”); Py_SetProgramName(文件名); PyConfig-PyConfig; PyConfig_InitIsolatedConfig(&PyConfig); PyConfig_SetBytesArgv(&PyConfig,argc,argc?argv:nullptr); PyConfig_SetString(&PyConfig,&PyConfig.pythonpath_env,pySysPath.c_str()); PyConfig_SetString(&PyConfig,&PyConfig.program_name,pyProgramName); Py_DebugFlag=true; pyConfig.isolated=false; pyConfig.dev_mode=true; pyConfig.verbose=2; pyConfig.parse_argv=true; pyConfig.dev_mode=true; pyConfig.use_environment=true; pyConfig.write_字节码=true; 自动状态=Py_InitializeFromConfig(&pyConfig); if(PyStatus_异常(状态)){ Py_ExitStatusException(状态); }

执行脚本时使用C++#1693 我在我的C++应用程序中使用Python 39,使用静态链接,调用Python脚本使用Wi32管道和Wi32文件。每次运行时,我都会执行一个错误ImportError:DLL加载在导入win32file时失败:找不到指定的模块。。模块的所有路径都是通过PyConfig配置的,因此 wchar\u t*filename=Py\u DecodeLocale(argv[0],nullptr); 自动pySysPath=\u getPySysPath(); std::wstring pathVar=pySysPath; 常量wchar_t*path=_wgetenv(L“path”); 如果(路径){ pathVar+=path; } Py_SetPath(pathVar.c_str()); Py_SetPythonHome(_wgetenv(L“PYROOT”); Py_SetProgramName(文件名); PyConfig-PyConfig; PyConfig_InitIsolatedConfig(&PyConfig); PyConfig_SetBytesArgv(&PyConfig,argc,argc?argv:nullptr); PyConfig_SetString(&PyConfig,&PyConfig.pythonpath_env,pySysPath.c_str()); PyConfig_SetString(&PyConfig,&PyConfig.program_name,pyProgramName); Py_DebugFlag=true; pyConfig.isolated=false; pyConfig.dev_mode=true; pyConfig.verbose=2; pyConfig.parse_argv=true; pyConfig.dev_mode=true; pyConfig.use_environment=true; pyConfig.write_字节码=true; 自动状态=Py_InitializeFromConfig(&pyConfig); if(PyStatus_异常(状态)){ Py_ExitStatusException(状态); },python,c++,python-3.x,cpython,c-api,Python,C++,Python 3.x,Cpython,C Api,我从\u getPySysPath()生成的路径使用以下内容: static const std::vector\u pysyspaths={ L“Lib\\site packages\\pywin32\u system32”, L“Lib\\site packages\\win32”, L“Lib\\site包”, L“蟒蛇39.zip”, L“DLL”, L“lib”, L“lib\\site包”, L“lib\\site packages\\win32”, L“lib\\site pack

我从
\u getPySysPath()
生成的路径使用以下内容:

static const std::vector\u pysyspaths={
L“Lib\\site packages\\pywin32\u system32”,
L“Lib\\site packages\\win32”,
L“Lib\\site包”,
L“蟒蛇39.zip”,
L“DLL”,
L“lib”,
L“lib\\site包”,
L“lib\\site packages\\win32”,
L“lib\\site packages\\win32\\lib”,
L“lib\\site packages\\Pythonwin”};
尽管我犯了错误,但当我使用python3.9时没有任何错误。python3.9是从官方网站以二进制文件的形式安装在我的系统上的

附言。 详细级别2告诉我在
\u find\u和\u load
中发生错误,但它什么也没告诉我。 完全回溯:

# code object from 'C:\\Users\\j35u5\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\win32\\lib\\__pycache__\\pywin32_bootstrap.cpython-39.pyc'
import 'pywin32_bootstrap' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D305D83BB0>
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site-packages\pywin32_system32\win32file.cp39-win_amd64.pyd
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site-packages\pywin32_system32\win32file.pyd
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site-packages\pywin32_system32\win32file.py
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site-packages\pywin32_system32\win32file.pyw
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site-packages\pywin32_system32\win32file.pyc
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site-packages\win32\win32file.cp39-win_amd64.pyd
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site-packages\win32\win32file.pyd
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\ascii.cp39-win_amd64.pyd
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\ascii.pyd
# trying C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\ascii.py
# C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\ascii.cpython-39.pyc matches C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\ascii.py
# code object from 'C:\\Users\\j35u5\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\ascii.cpython-39.pyc'
import 'encodings.ascii' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D305D833A0>
Traceback (most recent call last):
  File "C:\Users\j35u5\Sources\scanner\src\pymodules\test.py", line 2, in <module>
    import win32file
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 565, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1108, in create_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
ImportError: DLL load failed while importing win32file: The specified module could not be found.
#来自'C:\\Users\\j35u5\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site packages\\win32\\lib\\\\\uuu pycache\uuu\\pywin32\u bootstrap.cpython-39.pyc'的代码对象
导入“pywin32_引导程序”#
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\39\Lib\site packages\pywin32\u system32\win32file.cp39-win\u amd64.pyd
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site packages\pywin32\u system32\win32file.pyd
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site packages\pywin32\u system32\win32file.py
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site packages\pywin32\u system32\win32file.pyw
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site packages\pywin32\u system32\win32file.pyc
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site packages\win32\win32file.cp39-win\u amd64.pyd
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\Lib\site packages\win32\win32file.pyd
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\ascii.cp39-win\u amd64.pyd
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\ascii.pyd
#正在尝试C:\Users\j35u5\AppData\Local\Programs\Python\Python39\lib\encodings\ascii.py
#C:\Users\j35u5\AppData\Local\Programs\Python39\lib\encodings\\uuu-pycache\uuuu\ascii.cpython-39.pyc匹配C:\Users\j35u5\AppData\Local\Programs\Python39\lib\encodings\ascii.py
#来自“C:\\Users\\j35u5\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\\\uuuuu pycache\\uuuu\\ascii.cpython-39.pyc”的代码对象
导入“encodings.ascii”#
回溯(最近一次呼叫最后一次):
文件“C:\Users\j35u5\Sources\scanner\src\pymodules\test.py”,第2行,在
导入Win32文件
文件“”,第1007行,在“查找”和“加载”中
文件“”,第986行,在“查找”和“加载”中解锁
文件“”,第666行,在“加载”中
文件“”,第565行,位于_规范的模块_中
文件“”,第1108行,在创建_模块中
文件“”,第228行,在调用中删除了帧
ImportError:导入win32file时DLL加载失败:找不到指定的模块。

我得到的更多信息是通过apimonitor调用DLL加载系统。应用程序试图通过现有路径加载Win32文件,但无法加载,错误为``126=找不到指定的模块```