pip 没有安装 Cython 源文件
pip not installing Cython source files
我的包中有一个 *.pyx (Cython) 源文件,但当我 运行:
时它没有包含在源代码分发中
$ python3 setup.py sdist
因此,我添加了一个 MANIFEST.in
文件来包含所有 *.pyx 文件。我的包要求将 Cython 指定为要求:因此我的所有用户都将安装 Cython。在其他包中,我使用 pyximport:
import pyximport; pyximport.install(language_level=3)
from mycythonpackage.mycythonmodule import *
现在,当我 运行 sdist
时,我正确地看到了压缩包中打包的 *.pyx 文件。但是,当我将 tarball 解压到一个文件夹,然后执行:
$ sudo pip3 install .
安装顺利进行。但是 pyx 文件没有安装,因此,当我 运行 我的包找不到 Cython 模块时。
我的包中的 including/installing pyx 文件将解决我的问题,因为我希望我的用户按原样 运行 我的包,Cython 将即时编译它们。我不想 compile/build pyx 文件,也不想 want/need 打包 .so / .c / ... 文件。我只想安装普通的 *.pyx 文件。我如何指示 pip 在安装过程中强制 include/install *.pyx 文件?
我找到了解决方案:修改 setup.py
文件以包含:
package_data = { 'mypackage': ['mycythonmodule-filename.pyx']},
include_package_data = True
我的包中有一个 *.pyx (Cython) 源文件,但当我 运行:
时它没有包含在源代码分发中$ python3 setup.py sdist
因此,我添加了一个 MANIFEST.in
文件来包含所有 *.pyx 文件。我的包要求将 Cython 指定为要求:因此我的所有用户都将安装 Cython。在其他包中,我使用 pyximport:
import pyximport; pyximport.install(language_level=3)
from mycythonpackage.mycythonmodule import *
现在,当我 运行 sdist
时,我正确地看到了压缩包中打包的 *.pyx 文件。但是,当我将 tarball 解压到一个文件夹,然后执行:
$ sudo pip3 install .
安装顺利进行。但是 pyx 文件没有安装,因此,当我 运行 我的包找不到 Cython 模块时。
我的包中的 including/installing pyx 文件将解决我的问题,因为我希望我的用户按原样 运行 我的包,Cython 将即时编译它们。我不想 compile/build pyx 文件,也不想 want/need 打包 .so / .c / ... 文件。我只想安装普通的 *.pyx 文件。我如何指示 pip 在安装过程中强制 include/install *.pyx 文件?
我找到了解决方案:修改 setup.py
文件以包含:
package_data = { 'mypackage': ['mycythonmodule-filename.pyx']},
include_package_data = True