Fatal error: Python.h no such file or directory - but python-dev is already installed
Fatal error: Python.h no such file or directory - but python-dev is already installed
我正在尝试在 Ubuntu 上安装 mod_wsgi。当 运行 "sudo make" 命令 as described on the mod_wsgi website 我收到错误:
src/server/wsgi_python.h:24:10: fatal error: Python.h: No such file or directory
mod_wsgi troubleshoot section and other posts on SO (1,2,) 说要安装正确版本的python-dev。这已经基于以下输出完成。 Python3 运行 3.6.7 和 apt-get 说 python3-dev 是最新版本的 3.6.7.
$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
$ sudo apt-get install python3-dev
...
python3-dev is already the newest version (3.6.7-1~18.04).
0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.
因此 Python.h 文件似乎存在,但 make
找不到。我看了这个 SO post (4) 但我认为它不适用于我,因为我 am 能够找到 Python.h.
$ locate Python.h
/usr/include/python3.6m/Python.h
我不确定接下来该去哪里。 Python3.6-dev 已安装,我可以找到 Python.h,但 make
找不到。我正在使用 Pycharm 自动为我创建的 venv,我有预感它与问题有关,但我不确定如何跟进这个预感。我 运行 make
与 python3
和 apt-get
在同一个终端上,所以他们应该使用相同的环境变量(我的理解)。
任何人对后续步骤有什么建议吗?
我 运行 ./configure
for mod_wsgi 并看到了输出 checking for python... /usr/bin/python
。当我 运行 locate Python.h
它给了我 /usr/include/python3.6m/Python.h
。所以看起来配置找到了 python 的错误版本。然后我按照 the mod_wsgi documentation 的建议 运行 ./configure --with-python=/usr/bin/python3.6m
。现在 运行ning make
成功了。
我后来发现这是安装 mod_wsgi 更难的方法。我最终只是按照 this tecadmin guide 对 运行 命令 sudo apt-get install libapache2-mod-wsgi
说的。这就是我所做的,mod_wsgi 现在正在使用 apache。
要补充上面的答案(因为我很固执),我会注意到您必须安装 python[3]-dev
包(这是提供 Python.h
的包)。 ubuntu,apt install python3-dev
帮我解决了这个问题。
我正在尝试在 Ubuntu 上安装 mod_wsgi。当 运行 "sudo make" 命令 as described on the mod_wsgi website 我收到错误:
src/server/wsgi_python.h:24:10: fatal error: Python.h: No such file or directory
mod_wsgi troubleshoot section and other posts on SO (1,2,
$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
$ sudo apt-get install python3-dev
...
python3-dev is already the newest version (3.6.7-1~18.04).
0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.
因此 Python.h 文件似乎存在,但 make
找不到。我看了这个 SO post (4) 但我认为它不适用于我,因为我 am 能够找到 Python.h.
$ locate Python.h
/usr/include/python3.6m/Python.h
我不确定接下来该去哪里。 Python3.6-dev 已安装,我可以找到 Python.h,但 make
找不到。我正在使用 Pycharm 自动为我创建的 venv,我有预感它与问题有关,但我不确定如何跟进这个预感。我 运行 make
与 python3
和 apt-get
在同一个终端上,所以他们应该使用相同的环境变量(我的理解)。
任何人对后续步骤有什么建议吗?
我 运行 ./configure
for mod_wsgi 并看到了输出 checking for python... /usr/bin/python
。当我 运行 locate Python.h
它给了我 /usr/include/python3.6m/Python.h
。所以看起来配置找到了 python 的错误版本。然后我按照 the mod_wsgi documentation 的建议 运行 ./configure --with-python=/usr/bin/python3.6m
。现在 运行ning make
成功了。
我后来发现这是安装 mod_wsgi 更难的方法。我最终只是按照 this tecadmin guide 对 运行 命令 sudo apt-get install libapache2-mod-wsgi
说的。这就是我所做的,mod_wsgi 现在正在使用 apache。
要补充上面的答案(因为我很固执),我会注意到您必须安装 python[3]-dev
包(这是提供 Python.h
的包)。 ubuntu,apt install python3-dev
帮我解决了这个问题。