簡體   English   中英

python3.8加載dll OSError: [WinError 127] 找不到指定的程序

[英]python3.8 load dll OSError: [WinError 127] The specified procedure could not be found

環境:windows10-64,python3.8.8,

CALL 關系是 -->

關系

  1. 在文件jgtrade_api_func_def.py
    #!/usr/bin/env python
    #  coding:utf-8
    from ctypes import *
    
    jgtradeapi = windll.LoadLibrary('lib/td/JGTradeApi.dll')
  1. 在文件td_api.py
    # -*- coding:utf-8 -*-
    from jg_api.jgtrade_api import *
    ###
  • main.py
    from jg_api.td_api import JGTradeApi
  • 當我運行td_api.py時,它運行良好

  • 當我運行main.py , FileNotFoundError

    文件“D:\work\WCJGClient\jg_api\jgtrade_api_func_def.py”,第 14 行,在 jgtradeapi = windll.LoadLibrary('lib/td/JGTradeApi.dll') 文件“D:\ProgramData\Anaconda3\lib\ ctypes_init_ .py”,第 459 行,在 LoadLibrary 中返回 self。 dlltype(名稱)文件“D:\ ProgramData \ Anaconda3 \ lib \ ctypes_ init .py”,第381行,在init self._handle = _dlopen(self._name,mode)FileNotFoundError:找不到模塊'D:\ work \ WCJGClient\lib\td\JGTradeApi.dll'(或其依賴項之一)。 嘗試使用帶有構造函數語法的完整路徑。

  • 然后我將路徑更改為windll.LoadLibrary('jg_api/lib/td/JGTradeApi.dll') ,錯誤發生了變化

    文件“D:\work\WCJGClient\jg_api\jgtrade_api_func_def.py”,第 14 行,在 jgtradeapi = windll.LoadLibrary('jg_api/lib/td/JGTradeApi.dll') 文件“D:\ProgramData\Anaconda3\lib\ctypes_ init _.py",第 459 行,在 LoadLibrary 中返回 self。 dlltype(name) 文件“D:\ProgramData\Anaconda3\lib\ ctypes_init .py”,第 381 行, init self._handle = _dlopen(self._name, mode) OSError: [WinError 127] The specified procedure could not be成立。

  • 我也試過用絕對路徑,但是報同樣的錯誤,有沒有人遇到過這樣的問題?

OMG,我解決了這個問題!!!原因是DLL的引用和pyside2沖突!而且當我更改導入順序時,它運行良好在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM