web-dev-qa-db-ja.com

DjangoでPostgreSQLデータベースをセットアップする方法

私は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

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

100
André

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

Installation


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

ダウンロード後、tarballを簡単に解凍し、以下を実行します。

$ python setup.py install

または、必要に応じて、 easy_install または pip のいずれかでインストールします。

私は理由なしにeasy_installよりもpipを使用することを好みます。

  • $ easy_install psycopg2
  • $ pip install psycopg2

設定


insettings。py

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

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

200
Alireza Savand

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

$ Sudo apt-get install libpq-dev
28
Dennis Bunskoek

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

 - 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 pgadmin3 

その後、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': '',
    }
}

追加:

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

- 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': '',
    }
}
20
Gregory

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

最初に、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/199079 を使用して変更できます。手順を続行します。

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

createdb <db_name>

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

createuser -P <new_user>

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

http://localhost/phppgadmin/

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

9
Jibu James

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

# Sudo easy_install psycopg2

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

# pip install psycopg2

easy_installとpipは ActivePython に含まれているか、 respectiveproject サイトから手動でインストールされます。

または、単に ビルド済みのWindowsインストーラー を取得します。

6
Sandro Munda

差し迫った問題は、 psycopg モジュールが欠落していることです。

4
aptwebapps

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

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

最初にPIPをインストールします:https://pip.pypa.io/en/latest/

次に、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': '',
    }
}

あいさつ!

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

yum install postgresql-devel
easy_install psycopg2

あなたが私のようであれば、よく文書化されたlibpq-dev rpmを見つけるのに苦労するかもしれません...上記は私のためにちょうど今働いた。

3
MIke Kennedy
$ Sudo apt-get install libpq-dev

年、これは私の問題を解決します。これを実行した後、次を実行します。pip install psycopg2

2
Gregory

psycopg2をpipまたはsetup.py経由でインストールするには、Visual Studio 2008(より正確には実行可能ファイルvcvarsall.bat)が必要です。 Windowsでそれをインストールしたり、適切なPATH変数を設定したりする管理者権限がない場合は、既にコンパイルされたライブラリを here からダウンロードできます。

0
Sergey Ivanov

これは、ubuntuサーバーでPostgreSQLをセットアップするための非常に優れたステップバイステッププロセスの1つです。 Ubuntu 16.04とその動作で試してみました。

https://www.digitalocean.com/community/tutorials/how-to-use-postgresql-with-your-Django-application-on-ubuntu-14-04

0
sgauri