3

元のメッセージ (現在は古くなっています):

python setup.py install を実行すると、次のようになります。

Warning: Unable to find 'pg_config' filebuilding 'psycopg2._psycopg' extension
gcc-4.0 -arch ppc -arch i386 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -   DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.1 (dt dec ext pq3)" -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I. -c psycopg/psycopgmodule.c -o build/temp.macosx-10.3-fat-2.6/psycopg/psycopgmodule.o
unable to execute gcc-4.0: No such file or directory
error: command 'gcc-4.0' failed with exit status 1

バックエンドの Web プログラミングを初めて知った人には、驚くほど明白な何かがおそらくあると思いますが、残念ながら、私にとってはすべてガッカリです。psycopg2 のドキュメントは役に立ちませんでした。


6 月 12 日前半の更新: すべてのソフトウェアを更新した後、エラー メッセージが変更されました。

ここで、「python setup.py install」を実行すると、次のようになります。

Warning: Unable to find 'pg_config' filebuilding 'psycopg2._psycopg' extension
gcc-4.0 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.1 (dt dec ext pq3)" -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I. -c psycopg/psycopgmodule.c -o build/temp.macosx-10.3-fat-2.6/psycopg/psycopgmodule.o

他のエラー メッセージの非常に長いリストが続きます。

「gcc-4.0」をターミナルに入れると、次のように返されることは関係があるかもしれません。

i686-apple-darwin10-gcc-4.0.1: no input files

更新 12:41 GMT 6 月 12 日: macports のインストールが機能していると思っていましたが、サイトを実行しようとすると、次のエラーで終了しました。

raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2

結局、psycopg2 が適切にインストールされていなかったということですね。だから私は振り出しに戻ります。

4

5 に答える 5

8

更新された質問については、以下の編集を参照してください

マシンに「gcc4.0」コンパイラ実行可能ファイルがないか、適切なバージョンがないか、Python が見つけられない/使用できない場所にインストールされていません。XCode/Developer Tools ( GCC を含む) は、元の OSX インストール DVD に含まれている必要があります。

あなたは自分自身を初心者と呼ぶほど謙虚なので、ここに知恵の塊があります...このエラーを解決することは、実際にはバックエンドの Web 開発とは何の関係もありません。構成され、インストールされている) それが問題です。このようなゴブルデグックを解読するための最良のヒントは、これまで聞いたことのないキーワードのグーグル検索を開始することです。私があなたの立場だったとしたら、このエラー メッセージは「gcc4.0 とは何かを調べてください。そして、それが何であり、何をするのか、なぜ python がそれを必要とするのかがわかれば、その理由を突き止めます」と叫びます。 python は私のコンピューターでそれを見つけることができないので、私はそれについて何かをします。」この種の問題を解決する満足感は、すべての人に当てはまるわけではありませんが、それは確かです。

これらすべての質問に対する答えは次のとおりです。psycopg2 は、C 言語で記述された Python 拡張機能です。Python の拡張機能の多くは、Python ではなく C で記述されています。これは、C が Python よりもはるかに最適化されているためです。実際、それはpythonインタープリター自体が書かれているものです。C 言語コードは、使用する前にコンパイルする必要があります (解釈される Python コードとは異なります)。) この場合、必要なコンパイラは gcc4.0 です。Windows または Linux を使用している場合、psycopg2 のコンパイル済みバージョンは既に利用可能である可能性があり、GCC をインストールする必要はありません。あなた)。ただし、OS X で自分でコンパイルする必要があるようです。そのためには、実行しようとしているセットアップ スクリプトが見つけられるように、プログラム「gcc4.0」をシステム PATH で使用できるようにする必要があります。そしてそれを使用してください。OS X では、コンピュータに同梱されているオリジナルのインストール DVD から入手できます。それらをドライブに挿入し、Developer Tools インストール プログラムを見つけます。インストールしたら、コマンド「gcc4.0」を実行して、GCC 4.0コンパイラがインストールされているかどうかを確認できるはずです。

更新のために編集する

これで、GCC 4.0 コンパイラが適切にインストールされたようです! よくできました。これが表示された場合:

>gcc4.0
i686-apple-darwin10-gcc-4.0.1: no input files

その出力は、正確なバージョンを伝えるコンパイラであり、次にパラメーターを指定しなかったことを伝えているため、何もしません。あなたが直接ではなく、psycopg2 セットアップ スクリプトがそれを呼び出すので、これで問題ありません。

次に、psycopg2 は、PostgreSQL サーバー開発ライブラリもインストールする必要があることを期待しているようです。現在 MacPorts を使用しているようなので、次のコマンドでこれらのライブラリを簡単にインストールできるはずです。

sudo port install postgresql-server-devel

pg_configこれにより、セットアップが探している不足している実行可能ファイルが取得されます。

進捗状況をお知らせください。

于 2010-06-12T16:36:04.327 に答える
4

Enterprise DB から postgres をインストールした場合は、

export PATH=$PATH:/Library/PostgreSQL/8.4/bin

または類似 - お使いのバージョンによって異なります。

それが文句を言うなら

cc1: error: unrecognized command line option "-Wno-long-double"

次に、新しい gcc が気に入らない場合は、gcc を上書きして gcc4.0 を使用するように強制できます。

alias gcc=/usr/bin/gcc-4.0

そして、easy_install を再度実行します。

于 2010-07-06T15:36:45.723 に答える
3

必要以上に難しくしていると思います。setup.py を直接実行するのではなく、MacPorts に実行させることをお勧めします。

sudo port install py26-psycopg2

于 2010-06-12T18:29:47.313 に答える
2

I am sure that we would all hate to overlook the "screamingly obvious", so perhaps it is worth a check before going and installing a new compiler. In this case it could be that PostgreSQL is not installed on the person's Mac. Hence psycopg2 cannot find the 'pg_config' program that comes with newer versions of that database, causing the warning-message "Unable to find 'pg_config'" to be emitted.

So, before fiddling with a new compiler or any other part of the Developer toolchain, first check and see if you have PostgreSQL installed. If you do then find the 'pg_config' program, and set that path in the 'setup.cfg' file in the psycopg distribution. Then run 'python setup.py install' and see if you get the same error messages. Hopefully, it just starts "compiling"; but if it doesn't then you would be justified in executing the more difficult procedures described above.

于 2011-02-09T00:13:49.977 に答える
2
  1. Mac 用の PostgreSQL をインストールします - http://www.postgresql.org/download/macosx

  2. psycopg2 インストール用の新しい PostgreSQL の場所へのパスを設定します。

PATH=$PATH:/Library/PostgreSQL/9.0/bin/ sudo easy_install psycopg2
于 2011-10-01T04:14:50.367 に答える