2010-12-15 20 views
19

Ubuntu Serverを実行している小さなVPSにCythonをインストールしようとしています。 CythonディレクトリでCythonインストールGCCエラー

sudo apt-get install gcc 

、その後

python setup.py install 

をしましたが、私は、この奇妙なエラーが発生します。

running install 
running build 
running build_py 
running build_ext 
building 'Cython.Plex.Scanners' extension 
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c Cython/Plex/Scanners.c -o build/temp.linux-x86_64-2.6/Cython/Plex/Scanners.o 
Cython/Plex/Scanners.c:4:20: error: Python.h: No such file or directory 
Cython/Plex/Scanners.c:6:6: error: #error Python headers needed to compile C extensions, please install development version of Python. 
error: command 'gcc' failed with exit status 1 

「Pythonの開発版」が必要なのはなぜですか? Python 2.6.5を実行する(r265:79063、2010年4月16日、13:57:41)ありがとう!

答えて

36

あなたは、Pythonの開発者バージョン必要 - あなたがヘッダは、Python、即ちpython.hの開発バージョンに含まれる必要がある、すなわちPythonのヘッダファイル(はPython.h)

sudo apt-get install python-dev 
+0

大丈夫です!なぜこれが必要なのか聞いてもよろしいですか?私の開発マシン(Windows)には標準のPython 2.6があり、問題なく動作します。次に、パッケージインストーラを使用してインストールしたので、すべてが含まれている可能性があります。 – DizzyDoo

+0

簡単な答えは、Cythonのいくつかのソースファイルにはいくつかのpythonヘッダファイルが含まれているので、CythonをコンパイルするにはPythonヘッダーが必要です。なぜそれらのファイルが使用されているのか知りたいのであれば、Cythonソースを見る必要があります。 – binW

+1

これは、UbuntuとDebianがdevelパッケージの分離を選択したことも原因です。 – user225312

4

を。これはUbuntuにpython-devとしてパッケージ化する必要があります。