【问题标题】:python packages with dependencies in windows systemwindows系统中具有依赖关系的python包
【发布时间】:2016-06-24 23:02:48
【问题描述】:

我正在尝试在我的 Windows 系统中的一个新项目上使用 python。该项目使用 ffmpeg 和 pyrabin 等。我发现通过 pip 安装这些软件包非常困难,因为它们不断地要求缺少的依赖项。以下是一些错误:

ffvideo\ffvideo.c(254):致命错误 C1083:无法打开包含文件:'libavutil/rational.h':没有这样的文件或目录

local\temp\pip-build-kvsijc\pyrabin\src\rabin_polynomial.h(38):致命错误 C1083:无法打开包含文件:'stdint.h':没有这样的文件或目录

我要花很长时间才能解决每个问题。请就如何快速解决此类缺失的依赖项提出建议。我试过谷歌,它有很多适用于 linux 系统的选项。任何帮助将不胜感激。

【问题讨论】:

  • 看起来ffvideo 是一个死项目。它已经超过 3 年没有更新了。在过去的 3 年里,ffmpeg 发生了很多变化。如果没有真正旧版本的ffmpeg,它极有可能无法正确编译。
  • 谢谢。让ffmpy工作。这解决了一个。 :D

标签: python windows pyffmpeg


【解决方案1】:

您基本上是在询问如何快速设置开发环境来编译给定项目。您通常受项目开发人员的摆布,以及他们记录构建过程的程度。

在 linux 上,您通常有一个包管理器来简化依赖项的安装和解析。

由于 Windows 没有包管理器,许多具有大量依赖项的流行项目将包含一个 Libraries zip 文件的下载链接,该文件包含编译源代码所需的所有依赖项。

与其每次都运行 pip,不如直接将源下载到那些 python 项目并手动运行setup.py,解决依赖关系直到成功。

一般来说,对于封装了 C/C++ 库的 Python 库,如果不能构建对应的 C/C++ 库,就无法构建 Python 库。因此,您可能需要下载 ffmpeg 源代码并尝试先编译它。

另外,对于一些已编译的 python 库,您可能可以找到 python wheels,其中将包含为您的系统预编译的二进制文件,从而无需编译步骤。如果 python 库包装了另一个 C/C++ 库,您仍然需要下载并安装它所包装的库的适当版本(例如 ffmpeg)

【讨论】:

  • 谢谢布伦丹。由于它更容易在 Linux 中开发,如果我在 Linux 中完成我的项目,有什么方法可以打包项目,包括所有这些依赖项,并通过简单的安装过程在 windows 中运行它。
猜你喜欢
  • 2023-04-06
  • 1970-01-01
  • 2023-04-07
  • 2013-11-05
  • 2019-07-24
  • 2014-06-11
  • 2020-07-08
  • 1970-01-01
  • 2015-07-03
相关资源
最近更新 更多