2016-06-19 8 views
2

apt-getを私のlinuxにインストールしました。postgresPsycopg2をインストールしました。virtualenvでPsycopg2を使用する(Ubuntu 14.4、Python 3.4)

djangoプロジェクトのいずれかにpostgresを使用します。

virtualenvを作成しましたが、db settingsに追加するとpsycopg2で作業できません。ここで

setting.py

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'secondnginxapp', 
     'USER': 'myprojectuser', 
     'PASSWORD': 'postgres', 
     'HOST': '127.0.0.1', 
     'PORT': '', 
    } 
} 

である私は、次のコマンドでpsycopg2をインストールチェックサーバーを実行して、エラーにError loading psycopg2 module: No module named 'psycopg2'

を得ました。

python -c "import psycopg2; print(psycopg2.__version__)" 

出力:virtualenvのでpsycopg2を使用する方法2.4.5 (dt dec mx pq3 ext)

?助けが必要。

は私も virtualenvにインストールしようとした

(Iは、PythonとDjangoを学んでいます)。

pip install psycopg2は、エラーがその後、私はpip install libpq-dev今エラーがここでの問題は、あなたのシステムのpythonのパッケージディレクトリにインストールされているドライバをインストールするapt-getを使用していることであるNo matching distribution found for libpq-dev

+0

psycopg2をvirtualenvにインストールするためにpipを使用しようとしましたか? Pythonの2つの異なるバージョンがあり、apt-getがpython2のためだけにインストールされている可能性があります。 – Morishiri

+0

どのようにサーバーを実行しますか?どのようなコマンドを使用しますか?そしてvirtualenvは有効になっていますか? – jpmc26

+0

@Morishiriはい、しました。更新された質問を確認してください。 – Shri

答えて

1

解決方法は、postgresqlのサーバーバージョンをインストールすることです(クライアントのみがインストールされているようです)。Ubuntuで:

sudo apt-get install postgresql-server-dev-X.Y 

ここで、X.Yはパッケージのバージョンです。これは動作するはず

pip install psycopg2 

その後、virtualenv環境内psycopg2モジュールをインストールします。

+0

ありがとうございます。それは働いた。 – Shri

2

で試してみましたError: b'You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.\n'

です。デフォルトでは、仮想環境はシステムパッケージなしで作成されます。

このコマンドは、(システムPythonを使用して)仮想環境外にいるときに機能しますが、仮想環境内では機能しません。

あなたはこれを修正するには、2つのオプションがあります。

  1. は、仮想環境のPythonのインストール中に見つかったファイルno-global-site-packages.txtを削除します。

    あなたは/home/env/my-env/で仮想環境を作成した場合、そのファイルが削除されたら、あなたはrm /home/env/my-env/lib/python3.4/no-global-site-packages.txt

    を実行しますので、仮想環境が欠落しているパッケージのために地球環境になります。

  2. 拡張機能をビルドするためのシステムライブラリをインストールします。 ubuntuの場合、これはsudo apt install build-essential python-dev python3.4-dev libpq-devです。このコマンドを実行すると、仮想環境でpip install psycopg2を実行できます。

+0

すべての敬意を持って、それを受け入れてください? – Shri

+0

ありがとうございます。 – Shri

関連する問題