【问题标题】:Python missing DLL from installed modulePython 从已安装的模块中缺少 DLL
【发布时间】:2018-03-07 14:02:24
【问题描述】:

我有一个由 Python 和 C++ 组成的项目。我不明白所有这些,但为了编译和运行所有内容,我运行了一个包含的 BAT 文件。我已经安装了所需的依赖项。现在当我运行脚本时,我得到了这个:

    MainProcess - [INFO] os_utils: Disabling idle sleep not supported on this OS version.
world - [ERROR] launchables.world: Process Capture crashed with trace:
Traceback (most recent call last):
  File "C:\work\pupil\pupil_src\launchables\world.py", line 118, in world
    from plugin_manager import Plugin_Manager
  File "C:\work\pupil\pupil_src\shared_modules\plugin_manager.py", line 15, in <module>
    from video_capture import Base_Manager, Base_Source
  File "C:\work\pupil\pupil_src\shared_modules\video_capture\__init__.py", line 36, in <module>
    from .file_backend import FileCaptureError, FileSeekError
  File "C:\work\pupil\pupil_src\shared_modules\video_capture\file_backend.py", line 13, in <module>
    import av
  File "C:\Users\XXX\AppData\Local\Programs\Python\Python36\lib\site-packages\av\__init__.py", line 9, in <module>
    from av._core import time_base, pyav_version as __version__
ImportError: DLL load failed: The specified module could not be found.

找不到pyav?但如果我跑:

C:\Users\XXX\Downloads>pip install av-0.3.1-cp36-cp36m-win_amd64.whl
Requirement already satisfied: av==0.3.1 from file:///C:/Users/XXX/Downloads/av-0.3.1-cp36-cp36m-win_amd64.whl in c:\users\anton\appdata\local\programs\python\python36\lib\site-packages

我已经安装好了。这里有什么问题?

如果我打开 ...site-packages\av__init__.py" 我可以看到: from av._core import time_base, pyav_version as __version__

这里有东西吗?

【问题讨论】:

  • 您使用的是哪个操作系统以及您指的是哪个项目。你能分享一个链接吗?
  • 我在 Windows 10 上,我尝试从源代码编译 Pupil 实验室。我已经安装了所有东西,这是我在尝试运行它时遇到的错误。 docs.pupil-labs.com/#python-libs av 模块好像有问题:github.com/pupil-labs/pyav/releases/tag/v0.3.1
  • 你运行的是 64 位版本的 python 吗?
  • 是的,我正在运行 64 位。
  • 你的系统路径中有python吗?

标签: python dll module


【解决方案1】:

我怀疑模块已成功安装,但与 FFMPEG 动态链接。您可以从他们的网站 (https://www.ffmpeg.org/download.html) 获得 FFMPEG 的内置发行版。它们提供静态链接和动态链接的构建,尽管它将是提供您需要的 dll 的动态链接的构建。查看我自己的 PyAV 副本,似乎当前发布版本 (3.4.2) 是它所链接的版本。

当您下载它时,它的名称将类似于ffmpeg-date-build-win64-shared。在bin 目录中,您将找到所有相关的DLL。您可以将此目录添加到 PATH,或者更轻松地,将 DLL 复制到您的 python 位置。

【讨论】:

  • 尝试了这两个建议并重新启动,恐怕没有解决问题。我猜它一定是别的东西。
  • 对 Pupil Labs 文档进行一些挖掘,这是一个重要部分:docs.pupil-labs.com/#ffmpeg-to-pupil-external
  • 看起来有一堆外部 DLL 依赖项,他们希望您下载并放在特定文件夹中。整个事情看起来像是一团糟,祝你好运
猜你喜欢
  • 2019-09-18
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
相关资源
最近更新 更多