0

postgresSQL がインストールされた MAC os 10.6.8 で実行し、django - python2.7 を使用 また、仮想環境で pip を使用して psycopg2 と dj-database-url をインストールし、次の 2 行を setting.py に追加しました。

import dj_database_url
DATABASES = {'default': dj_database_url.config(default='postgres://localhost')}

Heroku の手順に基づく: https://devcenter.heroku.com/articles/django#database_settings 実行時:

python manage.py runserver

このエラーが発生しています:

ImportError: dlopen(/Users.... venv/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Symbol not found: _PQbackendPID
Referenced from: /Users.... venv/lib/python2.7/site-packages/psycopg2/_psycopg.so
Expected in: dynamic lookup

私は何時間も探し続け、次のアドバイスを含むあらゆる種類のことを試しました: Mac OS X Lion Psycopg2: Symbol not found: _PQbackendPID to no avail.

誰かがそのような問題を抱えていて、運が良かったのだろうか.

4

2 に答える 2

2

私も同じ問題を抱えていました。Herokuが使用を提案するように依存関係をインストールする代わりに

pip install Django psycopg2 dj-database-url

元のsettings.pyを保持したまま、venvで実行したいレポを複製します。それで:

source venv/bin/activate

新しい環境をアクティブ化cdし、新しいレポに追加しますpython manage.py runserver。設定する必要があります。

別の方法として、PostGreSQL を作り直して再度実行することもできますが、それはもう少し手間がかかります。ただし、psycopg2 では機能します。私が知る限り、問題は 32 ビルドを使用する必要があるときに 64 または i386 ビルドを使用することから発生しますが、これについてはよくわかりません。おそらく、実際に使用する予定です。

于 2012-10-30T22:28:59.843 に答える
1

私はあなたたちと同じ問題を抱えていて、多くのページを読みましたが、どのページにも答えが見つかりませんでした. 多くのソリューションは、ソース ファイルからのインストールに関するものであり、仮想環境とは関係ありません。次の解決策を見つけてテストしたところ、問題が解決しました。

1- psycopg2 に従って、Postgres が 9.4 バージョンよりも高くないことを確認してください。Pythonのバージョンも確認してください。Postgres 3.9.9 を使用しています。

2- 問題は異なるバージョンの Python (32/64 ビット) の背後にあります。64 ビットのオペレーティング システムのビット アーキテクチャに準拠する必要があります。システムから Python と pip のすべてのバージョンをアンインストールします。手順はこちらにありますが、Apple 提供のシステム Python である Python2.7 を削除しないでください。

3- python公式サイトから「 Mac OS X 64-bit/32-bit 」インストーラーをインストールしてインストールします。その後、pipをインストールします。Python バージョン 3.5 を使用するには、コマンド「python3.5」を使用する必要があることに注意してください。新しい pip から virtualenv をインストールすることもできます。

4- 結局、virtualenv に移動し、「pip3 install -r requirements.txt」と入力して、ローカル マシンにすべての依存関係をインストールできます。

これがあなたを助けることを願っています。

于 2015-09-27T18:24:39.773 に答える