私は学校のコンピューターを使用しているため、何もインストールできません。
Pythonで実行できるCコードを作成しようとしています。私が見つけているすべての記事は、使用する必要があるようです
#include <Python.h>
私はこれを行いますが、コンパイルするとそのようなファイルやディレクトリはありません
コンピューターにはPythonがあります(少なくとも端末にはpython
コマンドがあり、必要なPythonコードを実行できます)。
ターミナルでlocate Python.h
と入力しましたが、何も見つかりませんでした。
2つの質問があります。
PythonでPython.h
なしで呼び出すことができるCコードを記述できますか?
何かが足りないのに、コンピュータには実際にPython.h
がありますか?
python-dev
を含むPython.h
パッケージが必要です
Ubuntuでは、_python-dev
_というパッケージをインストールする必要があります。このパッケージはインストールされていないようで(_locate Python.h
_は何も見つかりませんでした)、システム全体にインストールできないため、別のソリューションが必要です。
ホームディレクトリにPythonをインストールできます。これを行うために特別な権限は必要ありません。Webブラウザを使用してgccを実行することが許可されている場合、これは機能します。 。 この目的を達成するために
ダウンロード ソースtarball 。
で解凍
_tar xjf Python-2.7.2.tar.bz2
_
ビルドしてインストール
_cd Python-2.7.2
./configure --prefix=/home/username/python --enable-unicode=ucs4
make
make install
_
これで、ホームディレクトリに完全なPythonインストールが完了しました。コンパイル時に_-I /home/username/python/include
_をgccに渡して_Python.h
_を認識させます。_-L /home/username/python/lib
_を渡して_-lpython2.7
_リンク時。
#include "python2.7/Python.h"の代わりに#include "python2.7/Python.h"を使用する必要があります。
Ubuntu 15.10およびPython 3の場合、Python.h
が管理者権限を持っている場合、次の方法で解決できます。
Sudo apt-get install python-dev
Sudo apt-get install python3-dev
Sudo apt-get install libpython3-dev
Sudo apt-get install libpython3.4-dev
Sudo apt-get install libpython3.5-dev
Ubuntuでは、ターミナルでSudo apt-get install python-dev -y
と入力するだけで、python-devパッケージをインストールできます。
現在、ヘッダーファイルは libpython2.7-dev によって提供されています。
packages.ubuntu.comの検索フォーム を使用して、どのパッケージが提供するかを調べることができますPython.h
。
Python-devをインストールする必要があります。
Ubuntuの場合:Sudo apt-get install python-dev # for python2.x installs Sudo apt-get install python3-dev # for python3.x installs
その他のディストリビューションについては、次を参照してください-
https://stackoverflow.com/a/21530768/6841045
CentOS 7マシンでomniORBの非常に古いコピーを作成しようとしたときに、同じ問題に遭遇しました。 python開発ライブラリをインストールすることで問題を解決しました:
# yum install python-devel
これにより、Python.hが次の場所にインストールされました。
/usr/include/python2.7/Python.h
私はubuntuforumsで答えを見つけました( buntuforums )、これをあなたのgcc '$(python-config --includes)'に追加するだけです
gcc $(python-config --includes) urfile.c
Python.h
がデフォルトのインクルードフォルダー(/usr/include/
)にないために発生します。
Python-devをインストールすると役立つ場合があります。
$ Sudo apt-get install python-dev
しかし、開発パッケージはインクルードフォルダー自体(/usr/include/python2.7
またはpython3
)内の別のフォルダー内で作成されるため、ほとんどの問題は解決しません。
したがって、gcc
の-I
オプションを使用するか、これらのフォルダー内のすべての外部へのソフトリンクを作成することにより、ライブラリーフォルダーを指定する必要があります(前者のオプションをお勧めします)。
gcc
:で-I
オプションを使用
$ gcc -o hello -I /usr/include/python2.7 helloworld.c
ソフトリンクの作成:
$ Sudo ln -sv /usr/include/python2.7/* /usr/include/
Synapticパッケージマネージャーに移動します。リロード->検索python-> pythonパッケージを選択->送信-> Install Works for me;)
正確に言うと、インストールする必要があるパッケージはpython-devです。
つまり、python dev。
Linux OSを使用している場合は、以下のコマンドを個別に使用してこの問題を解決できます。
Ubuntu(Debian):
Sudo apt-get install python-dev
(Py2)またはSudo apt-get install python3-dev
(Py3)
Rehat(CentOS):
yum install python-devel