0

私は Python プログラミングが得意です。自分の C プログラムで Python を拡張しようとしています。いくつかのチュートリアルがありますが、私のオペレーティング システムはかなり不自由です。それは言う

python.h が見つかりません

また、OpenGLプログラミングを試しました。同様のエラーに直面しなければなりませんでした

GL/gl.h が見つかりません

私のLinuxにはないと思いますGL dev-library。しかし、適切なディレクトリで見つかったので、python.h がハード ドライブにあることは確かです。

私は使用していますPCLinux OS 2010 Dell Vostro 1510 with Intel 1.8GHz Q2duo
2Gb ram
gcc4.4.1

gccをインストールできなかったため、WindowsでSwigを使用できません。現在の OS では Swig が動作しません。自分でコードを書くと、この種のエラーが表示されます。(サンプルファイルなのでコードの整合性は確かです)

.so現在の OS で python を拡張するためのファイルをコンパイルする手順を教えてください。
または
、この種のプログラミングに最適な OS を教えてください。
または
、この作業のためにすべての機能を Windows にインストールする方法を教えてください。
または
、このような問題を解決できる IDE はありますか。

私を助けてください。私はこれをしようとしてかなり長い間頭を悩ませてきました。すべてが機能する理想的な機能のコンピューターを想定した理想化されたチュートリアルにはうんざりしています。ありがとうございました

私はプロのプログラマーではありません。しかし、私はいくつかのかなり興味深いことをしました。私は、ターボでのプログラミングc++.gccは私にとって少し新しいことを学びました。私の初心者の質問を検討してください。

4

2 に答える 2

6

PCLinuxでのコンパイルに関しては、実際にヘッダーファイルが欠落しているようです。

パッケージマネージャーを介してそれらをインストールする必要があります:

sudo apt-get install python-devel
sudo apt-get install libnvidia-xorg1-devel

これにより、PythonヘッダーであるOpenGLヘッダーがインストールされます。

Windowsで実行するものを取得する限り、そこでgccを使用できるようにするには、posix環境(cygwinまたはmingwのいずれか)をセットアップする必要があります。このトピックの詳細については、この質問を参照してください
。 CygwinとMinGWの違いは?

アップデート
PCLinuxOSについて少し読んだのですが、かなり悪いようです。つまり、リポジトリから多くのものが欠落しているということです。

あなたへの私の提案は、次の理由から開発 にUbuntuを使用することです。

  1. UbuntuのユーザーベースはPCLinuxのユーザーベースよりもはるかに大きい
  2. ここの多くの人々はUbuntuで活発な開発をしています
  3. Ubuntuのリポジトリははるかによく維持されており、経由できないものはほとんどありません。apt
  4. したがって、PythonC拡張機能を実行するのは簡単です。
  5. そして最後になりましたが、将来の質問は上記の事実のためにもっと多くの答えを得るでしょう、そしてあなたがUbuntu自体に問題を抱えているなら、stackexchangeサイトさえあります

優れた開発環境を使用すると、多くの時間と頭痛の種を節約できます。

アップデート2Ubuntuへのヘッダーのインストール

sudo apt-get install python-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libglew1.5-dev

これにより、Pythonヘッダー、OpenGLヘッダー、OpenGLユーティリティヘッダー、およびOpenGL拡張ヘッダーがインストールされます。

于 2010-11-21T14:11:48.003 に答える
1

私の経験では、Python開発ライブラリをシステムにインストールする必要があります。Cコードを記述し、Pythonインタープリターを使用してそのCコードをコンパイルすることにより、Pythonを拡張します。たとえば、Pythonを拡張する方法の記事を参照してください。

于 2012-09-25T05:27:36.153 に答える