2016-04-14 70 views
2

我是新來的cython,所以我可能會漏掉一些明顯的東西,但我已經通讀了文檔,並且一直對此感到不安。爲什麼我的Cython cimport不能用於pxd文件?

我有我建立使用setup.py文件如下:a PYX文件:

from distutils.core import setup 
from Cython.Build import cythonize 

setup(
    ext_modules=cythonize("path/to/helpers.pyx"), 
) 

這工作正常,現在import path.to.helpers姊妹目錄和子目錄沒有任何問題,我可以。

現在,最近我決定我想添加一個helpers.pxd文件,所以我可以將它的一部分導入到其他的cython模塊中。我在path/to增加了helpers.pxd以促進這一點,但是當我嘗試cimport path.to.helpers,我得到path/to/helpers.pxd not found錯誤。我是否需要在setup.py中更改某些內容以允許從pxd進行輸入?我發現的文檔都沒有提到做這件事的任何事情,我覺得我已經嘗試了一切,沒有任何運氣。想法?

回答

1

撞我的頭靠在它的小時後終於解決了這個問題。事實證明,Pxds比pyxs更有趣path。我不知道爲什麼。無論如何,只需將路徑添加到我的pxd中即可解決問題。我對path/to/helpers.*setup.py保持不變,但每當我使用需要訪問path.to.helpers任何其他pyxs,我確保路徑path/to/helpers包括作爲include-dir,如:

cython *.pyx *.pxd -a --cplus --include-dir ../some/path

0

嘗試添加__init__.py到您的path/to/目錄。這與我相信distutils的作品。

相關問題