【问题标题】:Setuptools error when trying to install a package尝试安装软件包时出现 Setuptools 错误
【发布时间】:2016-12-10 13:35:45
【问题描述】:

我是 Python 的新手,我想在 Windows 7 中安装包 py-webrtcvad,但我遇到了错误 ImportError: No module named 'pip.utils.setuptools_build'。在*中有an answer这个问题似乎解决了其他人的问题,但它对我不起作用。

以下是我迄今为止所做和尝试的总结:

  • 安装了 Python 3.5 并设置了 Windows 路径环境,所以 它适用于任何目录。
  • 为 Python 安装了 pip。
  • 尝试用python -m pip install webrtcvad安装包, 但它失败了,返回错误Unable to find vcvarsall.bat
  • 我发现了一个处理 vcvarsall.bat 的博客 问题:blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat。按照该博客的指示:
    • 首先我刚刚安装了 Visual C++ Build Tools 2015 并尝试立即安装该软件包(不更新 setuptools),但我收到了很多错误消息(我没有写下来)。
    • 我尝试重新安装 setuptools,我按照https://pypi.python.org/pypi/setuptools 中的说明进行了操作:我删除了 Python 安装 (v20) 附带的 setuptools 版本,并安装了最新版本 (v30)。这次我在尝试安装 py-webrtcvad 时收到了不同的错误消息:ImportError: No module named 'pip.utils.setuptools_build'
  • 在 Python 官方聊天中寻求帮助。他们做了三个 建议:
    • 使用python -m pip install --upgrade pip 更新点子。没有 工作。同样,错误ImportError: No module named 'pip.utils.setuptools_build'
    • 重新安装 Visual C++ Build Tools 2015。没有区别,同样的错误 再次。
    • 重新安装 Python 本身。 Python 安装程序提供了三个 选择:修复、修改和卸载。
      • 修复:无效。同样的错误。
      • 修改:看起来它没有为此提供有用的修改。
      • 卸载:卸载并重新安装。还是同样的错误。

我没有想法。你能帮帮我吗?

注意:我想这应该可以在带有 Python 3.5 的 Windows 7 中实现。但是,如果不是,我愿意尝试任何不同的东西。例如,安装不同版本的 Python 完全没有问题。如果可以解决问题,我也可以尝试安装 Linux。

【问题讨论】:

  • 我写了py-webrtcvad,但不幸的是我没有在Windows中使用它,也没有尝试在那里安装它。对不起。如果我可以做些什么来让在 Windows 中构建更容易,请告诉我。

标签: python python-3.x setuptools cmusphinx voice-detection


【解决方案1】:

webrtcvad 2.0.8 版中存在一个错误,导致它在为 Windows 编译时使用了错误的标志:它使用的是 -DWEBRTC_POSIX 而不是 -DWIN32。这可能是您在早期尝试中收到的“大量错误消息”的来源。

已将固定版本作为 2.0.9 版本推送到 pypi。我已确认 pip install webrtcvad 在 Windows 10 上正常工作。我使用的是全新安装的 Python,所以我会先尝试它,而无需重新安装 setuptools。

【讨论】:

  • 非常感谢你,约翰!这解决了问题 :) 顺便说一句,很抱歉回复很晚,我有几个月没有检查这个了。