首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查Python包是否需要Visual构建工具

检查Python包是否需要Visual构建工具
EN

Stack Overflow用户
提问于 2018-12-31 06:24:08
回答 1查看 1.1K关注 0票数 3

这是先前的问题中,我了解到一些python包依赖于来编译C在Windows上的源代码。

我希望避免在开源项目中使用需要Visual构建工具的python包。我不想强迫我的开源用户为我的python应用程序安装构建工具。这似乎是可用性的一大下降,并使安装变得更加困难。

如何确定哪些开源python包需要?我已经检查了pypi.org和libraries.io,并查看了每个包的GitHub回购中的requirements.txt。我找不到对的任何要求,但是当我在包上尝试pip install时,它说它需要构建工具.

我从另一篇文章中找到了这个预先编译好的python库的网站。假设列表中的任何库都需要构建工具是安全的吗?但是,我假设这个列表并不详尽。是否有更好的信息来源?

请注意,我不是在问如何安装Visual构建工具。提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-08 19:15:25

我在Reddit上发布了这篇文章,并收到了以下答案,我相信这是正确的。如果需要的话,可以随意添加另一个答案。

基本上,答案是任何时候包都必须编译C代码才能构建。查看包要求并不明显,因为安装工具提供的构建命令在Windows上自动查找Visual。 在distutils配置文件中,可以设置您选择的编译器:https://docs.python.org/3/install/index.html#using-non-microsoft-compilers-on-windows。然后,当通过pip安装时,您可以选择--不二进制选项,以确保不获得由Visual:安装/#cmdoption二进制预编译的二进制文件。 您也可能对conda-forge感兴趣,它提供了一种通过conda包管理器( https://conda-forge.org/ )提供许多包二进制文件的开放源代码方法。

跟踪是否有任何方法检测在任意python包中使用编译器的情况:

我想很多包都会在distutils.core.Extension的setup.py:https://docs.python.org/3/extending/building.html#building-c-and-c-extensions-with-distutils中调用 尽管setup.py允许您调用任意的Python代码,所以实际的C编译可以隐藏在完全不同的地方,甚至可以使用完全不同的构建过程。 基本上,如果许可证或遵守自由和开放源码软件原则对您的应用程序很重要,您要么需要将您的依赖链建立在其他人已经完成的工作(例如conda-forge)上,要么您需要花费时间来真正调查您使用的每个依赖项的状态:/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53984268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档