113

Python と Django は初めてです。

PostgreSQL データベース エンジン バックエンドを使用して Django プロジェクトを構成していますが、各データベース操作でエラーが発生します。たとえば、 を実行するmanage.py syncdbと、次のようになります。

C:\xampp\htdocs\djangodir>python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
67, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 7, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
  File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 6, in
 <module>
    from django.db import models
  File "C:\Python27\lib\site-packages\django\db\__init__.py", line 77, in <modul
e>
    connection = connections[DEFAULT_DB_ALIAS]
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 92, in __getitem
__
    backend = load_backend(db['ENGINE'])
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 33, in load_back
end
    return import_module('.base', backend_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\db\backends\postgresql\base.py", li
ne 23, in <module>
    raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg

何が起こっているのか、誰かが私に手がかりを与えることができますか?

4

12 に答える 12

218

psycopg2Python ライブラリをインストールする必要があります。

インストール


http://initd.org/psycopg/をダウンロードし、Python PATH の下にインストールします。

ダウンロード後、tarball を簡単に抽出して、次の操作を行います。

$ python setup.py install

または、必要に応じて、easy_installまたはpipでインストールしてください。

(理由もなく、easy_install よりも pip を使用することを好みます。 )

  • $ easy_install psycopg2
  • $ pip install psycopg2

構成


設定で.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'db_name',                      
        'USER': 'db_user',
        'PASSWORD': 'db_user_password',
        'HOST': '',
        'PORT': 'db_port_number',
    }
}

- その他のインストール手順は、ダウンロード ページインストール ページにあります。

于 2011-03-24T15:23:28.710 に答える
31

また、PostgreSQL 開発パッケージがインストールされていることを確認してください。Ubuntu では、次のようにする必要があります。

$ sudo apt-get install libpq-dev
于 2012-08-16T14:12:25.500 に答える
25

私が使用するステップバイステップ:

 - sudo apt-get install python-dev
 - sudo apt-get install postgresql-server-dev-9.1
 - sudo apt-get install python-psycopg2 - Or sudo pip install psycopg2

データベースを管理するためのグラフィック ツールをインストールすると、次のことが可能になります。

sudo apt-get install postgresql pgadmin4 

その後、Postgre ユーザーのパスワードを変更する必要があります。

 - sudo su
 - su postgres -c psql postgres
 - ALTER USER postgres WITH PASSWORD 'YourPassWordHere';
 - \q

あなたのsettings.pyファイルで次のことを行います:

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

追加:

コマンドラインを使用してデータベースを作成する場合は、次のようにします。

- sudo su
- su postgres -c psql postgres
- CREATE DATABASE dbname;
- CREATE USER djangouser WITH ENCRYPTED PASSWORD 'myPasswordHere';
- GRANT ALL PRIVILEGES ON DATABASE dbname TO djangouser;

あなたのsettings.pyファイルで次のことを行います:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'djangouser',
        'PASSWORD': 'myPasswordHere',
        'HOST': '',
        'PORT': '',
    }
}
于 2014-09-28T16:52:46.400 に答える
6

次のコマンドで「psycopg」をインストールできます。

# sudo easy_install psycopg2

または、 pip を使用できます。

# pip install psycopg2

easy_install と pip はActivePythonに含まれているか、それぞれの プロジェクトサイトから手動でインストールされます。

または、ビルド済みの Windows インストーラーを入手するだけです。

于 2011-03-22T17:20:12.597 に答える
6

これは少し長いように思えるかもしれませんが、エラーなしでうまくいきました。

まず、Ubuntu Software Center から phppgadmin をインストールします。

次に、これらの手順をターミナルで実行します。

sudo apt-get install libpq-dev python-dev
pip install psycopg2
sudo apt-get install postgresql postgresql-contrib phppgadmin

Apache サーバーを起動する

sudo service apache2 start

これもターミナルで実行して、apache ファイルを編集します。

sudo gedit /etc/apache2/apache2.conf

開いたファイルに次の行を追加します。

Include /etc/apache2/conf.d/phppgadmin

ここで、apache をリロードします。ターミナルを使用します。

sudo /etc/init.d/apache2 reload

ここで、新しいデータベースを作成する必要があります。「postgres」ユーザーとしてログインします。ターミナルで続行します。

sudo su - postgres

「postgres」のパスワードに問題がある場合は、https://stackoverflow.com/a/12721020/1990793の回答を使用してパスワードを変更し、手順を続行できます。

今すぐデータベースを作成します

createdb <db_name>

後で phppgadmin にログインするための新しいユーザーを作成し、新しいパスワードを入力します。

createuser -P <new_user>

これで postgressql がセットアップされ、次の場所に移動できます。

http://localhost/phppgadmin/

データベースを表示するために、作成した新しいユーザーを使用してログインします。

于 2015-05-08T18:57:41.860 に答える
4

当面の問題は、psycopg2モジュールが欠落していることです。

于 2011-03-22T16:16:37.573 に答える
3

Macでも同じ問題が発生していました。

解決策は、 PIPのみを使用してすべてをインストールし、いくつかのものに触れることでした。

まず、 https ://pip.pypa.io/en/latest/ から PIP をインストールします。

次に、pg_configへのパスがPATH (echo $PATH) に含まれているかどうかを確認します。そうでない場合は、bash_profile を編集できます。

vi /Users/<user>/.bash_profile

次の行を追加します。

export PATH=$PATH:/path/to/pg_config/bin

pg_config がどこにあるのかわからない場合は、"locate" ツールを使用できますが、locate.db が最新であることを確認してください (古いlocate.db を使用し、存在しないパスを使用していました)。

sudo /usr/libexec/locate.updatedb
locate pg_config

次に、Django (必要な場合) と psycopg2 をインストールします。

sudo pip install Django
sudo pip install psycopg2

そして、settings.py (localhost:defaultport) で

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

ごきげんよう!

于 2014-09-02T17:39:00.323 に答える
3

Fedora 20、Django 1.6.5、postgresql 9.3.* を使用していて、psycopg2 モジュールが必要な場合は、次のようにします。

yum install postgresql-devel
easy_install psycopg2

あなたが私のような人なら、十分に文書化された libpq-dev rpm を見つけるのに苦労するかもしれません...上記は今私にとってはうまくいきました。

于 2014-06-23T02:30:05.407 に答える
2
$ sudo apt-get install libpq-dev

年、これは私の問題を解決します。これを実行したら、次のようにします: pip install psycopg2

于 2014-04-20T14:24:34.280 に答える
0

psycopg2pip または setup.py によるインストールには、Visual Studio 2008 (より正確には実行可能ファイルvcvarsall.bat ) が必要であることに注意してください。インストールするための管理者権限がない場合、または Windows で適切な PATH 変数を設定する場合は、コンパイル済みのライブラリをここからダウンロードできます。

于 2014-03-11T15:24:40.393 に答える