Python-devがインストールされていないため、多くの人がpipでpythonパッケージをインストールするのに問題があることがわかりました。主にエラー:
fatal error: Python.h: No such file or directory
だから質問:python-devはpipの必須の依存関係である必要がありますか?または、これはpipでインストールされている特定のパッケージの問題にすぎませんか?その場合、モジュールのインストール時にユーザーがエラーに遭遇しないようにするための特定の手順はありますか?
これは実際にはStackOverflowに属しているとは思いませんが、間違っている場合は…
まず、python-dev
はPythonのものではなく、Ubuntu、Fedora、またはその他のディストリビューションのものです。Pythonをダウンロード、ビルド、インストールするか、Pythonからバイナリインストーラーを実行する場合.orgでは、Python.h
が適切な場所にインストールされます。多くのLinuxディストリビューションは、パッケージをサブパッケージに分割し、ビルドに必要なものを-dev
または同様のパッケージに移動することを好みますが、まったく問題はありませんPythonに対してそれを行っていますが、それでもディストリビューションが行っていることです。
次に、Python.h
は、すべてのパッケージをビルドするために必要なわけではなく、C拡張モジュールを含むパッケージだけが必要です。多くのパッケージは純粋なPythonであり、そのような拡張モジュールがないため、ディストリビューションのpip
パッケージがそのpython-dev
パッケージを必要としないことは理にかなっています。 (ディストリビューションのpip
パッケージがおそらくCコンパイラを必要としないのと同じように。)
第三に、python-pip
または同様のパッケージを提供するほとんどのディストリビューションは、人気のあるパッケージのパッケージも提供します。それらをそのようにインストールする場合、それらはバイナリパッケージであるため、python-dev
(およびCコンパイラ)は必要ありません。または、それらは必要ですが、依存関係(rpm、 debなどにはすべて、個別の「ビルド」と「実行」の依存関係を指定する方法があります。
しかし、パッケージマネージャーの後ろに隠れて、pip
を使用してパッケージをインストールしようとすると(これは合理的な方法です)、パッケージマネージャーはどのパッケージにどの依存関係が必要かを教えてくれませんが、pip
はPythonパッケージの依存関係についてしか教えてくれないので、これを強制するものは何もありません。