无法安装具有 C 依赖项的 Python 库

Posted

技术标签:

【中文标题】无法安装具有 C 依赖项的 Python 库【英文标题】:Can't Install Python Libraries with C Dependencies 【发布时间】:2016-02-17 14:08:32 【问题描述】:

我目前正在使用 PyCharm Community 5.0.3 在 Windows 8.1 上运行 Python 3.4,当我尝试安装具有 C 依赖项的库(即 pymssql)时遇到以下错误:

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)

我已经对类似情况进行了各种 Stack Overflow 响应,但未能找到可行的答案,因为大多数问题都是针对 Python 2.7 的。我发现的主要反应是重新下载 Visual Studio 10,我在网上根本找不到。

对此问题的任何见解都会很棒。

【问题讨论】:

另见***.com/q/2817869/284795 @ColonelPanic 我尝试按照该帖子中的建议进行操作,但仍然导致错误。 解决了同样的情况,也许对你有帮助? ***.com/questions/28251314/… @noise 似乎没有可用的 pymssql 预构建发行版。我确实尝试安装 .whl 版本的库,但安装失败。 【参考方案1】:

首先,您可以从link 下载 Microsoft Visual 2013 Redistributable Packages

您还可以将 Mingw 用作 python 2.x 和 3.x 的 编译器

查看此文档:https://docs.python.org/2.7/install/#gnu-c-cygwin-mingw

这允许你有编译器来为你的 python 构建你的扩展,使用 mingw 作为 python 的编译器你必须:

1-将mingw32安装到**C:\programs\mingw**

2-将 mingw32 的 bin 目录添加到您的环境变量中:将 c:\programs\MinGW\bin; 附加到 PATH

3-编辑(如果不存在则创建distutils.cfg 文件位于 C:\Python2\Lib\distutils\distutils.cfg 成为:

[build]
compiler=mingw32

现在运行 easy_install.exe 来安装任何使用 c 或 c++ 扩展的模块 :)

【讨论】:

以上是关于无法安装具有 C 依赖项的 Python 库的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Pip 会忽略已配置的具有嵌套依赖项的存储库?

Gradle 无法构建具有 Docker 依赖项的 JAR

从具有依赖项的python程序创建可执行文件

具有 FreeMarker 2.3.23 依赖项的 Maven 项目无法编译

具有休眠依赖项的 Jar 文件无法使用 jdk 9+(openjdk 12)执行

如何为具有属性依赖项的 Spring Boot Application 类编写测试用例 - 无法解析占位符