【问题标题】:How to tell if my Python packages use C extensions?如何判断我的 Python 包是否使用 C 扩展?
【发布时间】:2018-11-19 21:57:07
【问题描述】:

我正在考虑使用shiv package 作为我的 Django 项目创建 Python zipapp 的一种方式(而不是诉诸 Docker)。我的理解是,如果我的任何 Python 包具有 C 扩展,这种方法是不可行的。是否有任何工具可以检查我的 pip 需求文件并告诉我它包含的任何包(以及它们的依赖项)是否使用 C 扩展?

我知道 Python 解释器是用 C 编写的,所以我想许多 Python 包也是用 C 编写的(或者可能不是?)。因此,如果这听起来像是一个愚蠢的问题,那是因为我不明白像 Python 解释器这样的用 C 编写的程序与 C 扩展是什么之间的区别,因为我从未研究过 C 语言。

【问题讨论】:

    标签: python django


    【解决方案1】:

    这个问题以前也问过,确实没有简单的答案:

    In Python how can one tell if a module comes from a C extension?

    但重要的是要注意,将 shiv 与 C 模块一起使用并非不可能。如果您的目标主机与您构建软件包的主机架构相同,那么您应该没有问题。

    【讨论】:

      猜你喜欢
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      相关资源
      最近更新 更多