0

私は共有ホスティング プロバイダーを使用しており、psql で Django を起動して実行するために psycopg2 をインストールしようとしています。

走った$ pip install psycopg2

次のエラーが発生しました

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes 
-fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5 (dt dec pq3 ext)" 
-DPG_VERSION_HEX=0x080205 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 
-DHAVE_PQFREEMEM=1 -I/home3/n/norcal/python/include/python2.7 -I. 
-I/usr/local/pgsql-8.2/include -I/usr/local/pgsql-8.2/include/server 
-c psycopg/psycopgmodule.c -o build/temp.linux-i686-2.7/psycopg/psycopgmodule.o 
-Wdeclaration-after-statement

cc1: error: unrecognized option `-Wdeclaration-after-statement'

error: command 'gcc' failed with exit status 1

グーグルで調べたところ、python-dev と libpq-dev が欠落している可能性があることがわかりましたが、共有ホスティング プロバイダーではアクセスできない aptitude なしでそれらをインストールする方法についての説明が見つかりません。

何か案は?

100万前もってありがとう!

4

1 に答える 1

0

問題は、それ-Wdeclaration-after-statementが gcc のバージョンでサポートされていないことです。

ハックな解決策は、このサポートされていないオプションをコンパイル コマンドから削除することです。より良い解決策は、gcc をアップグレードすることです。

このエラーが発生したら、grepdeclaration-after-statementが使用されている場所を見つけます。

$ grep -r "declaration-after-statement" ./virtual_env_dir
virtual_env_dir/build/psycopg2/setup.py: '-Wdeclaration-after-statement')

setup.py を編集し、対応するコード ブロックにコメントを付けます。

''''
for extension in self.extensions: 
    extension.extra_compile_args.append(
        '-Wdeclaration-after-statement')
''''

経由でビルドを再実行し$ pip install psycopg2ます。

于 2013-11-20T09:48:50.017 に答える