【问题标题】:pip not installing Cython source filespip 没有安装 Cython 源文件
【发布时间】:2020-11-15 15:00:57
【问题描述】:

我的包中有一个 *.pyx (Cython) 源文件,但在我运行时它没有包含在源代码分发中:

$ python3 setup.py sdist

因此,我添加了一个 MANIFEST.in 文件以包含所有 *.pyx 文件。我的包要求将 Cython 指定为要求:因此我的所有用户都将安装 Cython。在其他包中,我使用 pyximport:

import pyximport; pyximport.install(language_level=3)
from mycythonpackage.mycythonmodule import *

现在,当我运行 sdist 时,我正确地看到了打包在 tarball 中的 *.pyx 文件。但是,当我将 tarball 解压到一个文件夹中,然后执行:

$ sudo pip3 install .

安装进行得很顺利。但是没有安装 pyx 文件,因此我的包在运行时无法找到 Cython 模块。

只需在我的包中包含/安装 pyx 文件就可以解决我的问题,因为我希望我的用户按原样运行我的包,并且 Cython 会即时编译它们。我不想编译/构建 pyx 文件,也不想/不需要打包 .so / .c / ... 文件。我只想安装普通的 *.pyx 文件。如何指示 pip 在安装过程中强制包含/安装 *.pyx 文件?

【问题讨论】:

    标签: python pip cython distutils


    【解决方案1】:

    我找到了解决方案:修改setup.py文件以包含:

    package_data = { 'mypackage': ['mycythonmodule-filename.pyx']},
    include_package_data = True
    

    【讨论】:

      猜你喜欢
      • 2015-08-19
      • 2020-05-30
      • 2015-05-08
      • 2011-01-13
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 2020-01-22
      相关资源
      最近更新 更多