如何设置pyhidapi库在项目文件夹中搜索hidapi.dll?

时间:2019-04-15 12:46:03

标签: python-3.x ctypes cx-freeze hidapi

我正在尝试使用cx_Freeze编译我的应用程序。

在开发机(使用Windows 10)上,程序运行良好。但是,当我在其他计算机(使用Windows 7)上尝试时,出现错误消息。奇怪的是,当我在装有Windows 10的另一台计算机上尝试时,没有错误。

其中一个库-“ pyhidapi”-在一些奇怪的地方搜索hidapi.dll。

C:\Users\***\Downloads\build>main
Traceback (most recent call last):
  File "C:\Python3\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line
 14, in run
  File "C:\Python3\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26,
 in run
  File "main.py", line 14, in <module>
  File "main.py", line 8, in main
  File "C:\ntt_flashcopier_source\interface\qt_interface.py", line 39, in __init
__
  File "C:\ntt_flashcopier_source\ntt_flash_copier\ntt_flash_copier.py", line 14
, in __init__
  File "C:\ntt_flashcopier_source\ntt_flash_copier\device_list\device_list.py",
line 11, in __init__
  File "C:\ntt_flashcopier_source\ntt_flash_copier\device_list\device_implemento
r_list.py", line 10, in __init__
  File "C:\ntt_flashcopier_source\ntt_flash_copier\device_list\hid_device_finder
.py", line 8, in __init__
  File "C:\Python3\lib\site-packages\pyhidapi\pyhidapi.py", line 417, in hid_ini
t
  File "C:\Python3\lib\site-packages\pyhidapi\pyhidapi.py", line 162, in __load_
hidapi
RuntimeError: Could not find the hidapi shared library.

有我的setup.py文件:

from cx_Freeze import setup, Executable

executables = [
    Executable('main.py',
               icon='icon.ico')
]

_excludes = []
_include_files = ["hidapi.dll", 'conf.xml']
_includes = []

build_exe_options = {'include_msvcr': True,
                     'include_files': _include_files,
                     'includes': _includes,
                     'excludes': _excludes,
                     'build_exe': 'build',
                     }

setup(name='main',
      version='0.1',
      description='NTT Flash Copier',
      options={"build_exe": build_exe_options},
      executables=executables,
      requires=['pyhidapi', 'psutil', 'PyQt5']
      )

我希望该程序可以在Windows 7和10上运行,而无需另外安装诸如python之类的东西。简单地说一句可移植的程序。

编辑1 : 也许问题出在系统(Windows 7)中。我发现cx_Freeze无法执行多平台编译。明天我将尝试在Windows 7系统中编译代码。

编辑2 : 做以前的事情。它仍然使我遇到相同的问题,并且在其他Windows 10计算机上不起作用。

编辑3 : 现在,我正在尝试为我的项目设置virtualenv。我遇到了同样的错误。我认为肯定有另一种安装pyhidapi的方法。

编辑4 : 试图从源代码安装pyhidapi。错误仍然存​​在。现在,我正在重写代码以实现pywinusb库。我需要回答这个问题,还是将其打开,也许有人回答?

0 个答案:

没有答案