2011-07-27 11 views
8

* .pyxファイルを含むPythonパッケージ(pyregion)をビルドしようとしていますが、ビルドプロセス中にエラーが発生します。以下の出力を確認してください:.pyxファイルで不明なファイルタイプエラー

$ python setup.py build 
running build 
running build_py 
creating build 
creating build/lib.macosx-10.5-x86_64-2.7 
.... 
running build_ext 
building 'pyregion._region_filter' extension 
C compiler: gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -DNDEBUG -g -O3 -arch x86_64 

error: unknown file type '.pyx' (from 'src/_region_filter.pyx') 

問題の可能性に関するアイデアはありますか?注記すると、私は最新のXcode(4.1)でOSX上のPython(7.1)のEnthoughtビルドを使用しています。

乾杯

+0

これは「unknown file type '.pyx」というGoogleの最初のヒットで、pyregionもインストールしようとしていました。よくやった。 – keflavich

答えて

6

.pyxはパイレックスとCにコンパイルし、コードオブジェクトにコンパイルされなければならないべきです。ディストリビューションにsrc/_region_filter.cファイルが存在するかどうかを確認し、代わりにsetup.pyスクリプトをハックしてビルドしてください。 (filing a bug reportも考えてください)。

+0

最近、Pyrexの代わりにCythonが使用されていますが、とにかく+1 – delnan

+1

@delnan:いいえ、Pyrex、['setup.py'](https://github.com/leejjoon/pyregion/blob/master/setup.py)を参照してください。 )。 –

+0

ああ、CyrexがPyrexに取って変わってしまう前の頃を見ていたほど小さい年齢のプロジェクトは考えていませんでした。 – delnan

3

まずpyrexをインストールすれば正常に動作します。

、次の操作を行います。私はcythonを使用して同じエラーを取得していますが、よいように私は、変更

cmdclass = {'build_ext': build_ext }, 

cmdclass = {'build_ext ': build_ext }, 

ことによってそれを解決パイレックス

0

をインストール sudoのピップを予告なしに、余分な空白文字が'build_ext 'の後ろにあります。

0

あなたが持っていた同じエラーメッセージに私の独自のソリューション:setup.pyスクリプトであなたの*.pyxファイルをCythonize

from distutils.core import setup 
from Cython.Build import cythonize 
... 
cythonised_files = cythonize("src/*.pyx") 

(私はパイレックスをインストールしようとしたが、代わりに認識できない文字についてのエラーになってしまった)

詳細はこちらhttp://docs.cython.org/src/userguide/source_files_and_compilation.html