在Python包中包含* .pyd文件

时间:2016-05-04 14:59:37

标签: python python-2.7 include pypi pyd

我有一个python模块 module.pyd ,一旦将它手动放到python安装文件夹的site-packages上就可以正常工作了。

当我将我的解决方案上传到云环境时,问题就开始了,buildpack请求我将每个模块作为要与pip install git+repository一起安装的软件包传递。我创建了一个带有简单 __ init __。py 文件的文件夹,该文件只导入 module.pyd 的所有内容,以便将我的模块视为文件夹。

然后我在这里阅读http://peterdowns.com/posts/first-time-with-pypi.html如何上传我自己的模块并且我成功了,但是当我安装我的模块时,不会复制 module.pyd 文件。我还试图通过存储库{"errorOccurred":"true","exceptionType":"Exception Occurred","referenceCode":"_5e6f0985-ea74-49bc-8436-e0b015657246"}直接安装它,但同样的事情发生了。

我在这里阅读https://docs.python.org/2/distutils/sourcedist.html#specifying-the-files-to-distribute我可能要明确说我要在MANIFEST.in文件中复制 *。pyd 文件,我已经完成了,但似乎没有工作了。

我目前正在使用python 2.7.10

我是python的新手,所以我很感谢你们帮助

1 个答案:

答案 0 :(得分:3)

只需使用grade

即可
MANIFEST.in

这将包括recursive-include module *.pyd 目录中的所有pyd文件。

您的包装布局应如下所示:

module

并且不要忘记在module/ --- __init__.py --- _module.pyd --- module.py MANIFEST.in README.rst setup.py include_package_data=True中添加setup(),以便在构建轮子和win32安装程序时强制使用setup.py(否则MANIFEST.in 1}}仅用于源tarball / zip)。

MANIFEST.in的最小示例:

setup()
相关问题