69

以下を使用して、RYUと呼ばれるUbuntu12.04にOpenFlowコントローラーをインストールしました。

 sudo  pip install ryu

以下に示すように、ryu-managerを使用してPythonファイルを実行しようとしました。

sudo ryu-manager simple_switch.py 
Traceback (most recent call last):
  File "/usr/local/bin/ryu-manager", line 19, in <module>
    import gevent
ImportError: No module named gevent

次に、以下を使用してgeventをインストールしようとしました。

sudo pip install gevent
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gevent/core.c -o build/temp.linux-x86_64-2.7/gevent/core.o
gevent/core.c:4:20: fatal error: Python.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

このエラーの原因は何ですか?Python.hを使用して検索しようとしましsudo locate Python.hたが、成功しませんでした。python -Vただし、の出力は

Python 2.7.3

システム上にあるべきPython.hですか?もしそうなら、それを取得するには何をインストールする必要がありますか?

4

4 に答える 4

186

これはそれを行う必要があります:

sudo apt-get update; sudo apt-get install python-dev -y

不足しているヘッダーがインストールされます。それは私を大いに助けました。

于 2013-03-26T07:34:13.867 に答える
36

Pythonがインストールされている場合でも、通常、ヘッダーファイルとライブラリはデフォルトでインストールされません。Ubuntuでは、これらはと呼ばれる別のパッケージで提供されpython-devます。

于 2013-03-26T07:11:37.803 に答える
9

gevent直接インストール- sudo apt-get install python-gevent

于 2013-03-26T07:01:24.437 に答える
0

ちょっとコミュニティ私はこのコマンドでこの問題を解決しました

pip3 install -U git + https://github.com/kti/python-netfilterqueue

それがうまくいくことを願っています:)

于 2020-08-14T00:14:28.243 に答える