Je suis nouveau sur Python et Django.
Je configure un projet Django à l'aide d'un moteur de base de données PostgreSQL, mais j'obtiens des erreurs sur chaque opération de base de données. Par exemple, lorsque je cours manage.py syncdb
, j'obtiens:
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
Quelqu'un peut-il me donner une idée de ce qui se passe?
Réponses:
Vous devez installer la
psycopg2
bibliothèque Python.Installation
Téléchargez http://initd.org/psycopg/ , puis installez-le sous Python PATH
Après le téléchargement, extrayez facilement l'archive tar et:
Ou si vous le souhaitez, installez-le soit easy_install ou pip .
( Je préfère utiliser pip sur easy_install sans raison. )
$ easy_install psycopg2
$ pip install psycopg2
Configuration
dans les paramètres .py
- D'autres instructions d'installation peuvent être trouvées sur la page de téléchargement et la page d'installation .
la source
psycopg2.OperationalError: fe_sendauth: no password supplied
quand je courspython manage.py syncdb
. J'ai défini un nom de table et un nom d'utilisateur aléatoires.django.db.backends.postgresql
ne fonctionne pas avecpsycopg2
. ce qui a fonctionné est ledjango.db.backends.postgresql_psycopg2
back-end et évité de spécifier le numéro de port car il change à chaque fois que vous démarrez pgAdmin sous WindowsAssurez-vous également que le package de développement PostgreSQL est installé. Sur Ubuntu, vous devez faire quelque chose comme ceci:
la source
Pas à pas que j'utilise:
Vous voudrez peut-être installer un outil graphique pour gérer vos bases de données, pour cela vous pouvez faire:
Après, vous devez changer le mot de passe de l'utilisateur Postgre, puis faire:
Sur votre fichier settings.py, vous faites:
Supplémentaire:
Si vous souhaitez créer la base de données en utilisant la ligne de commande, vous pouvez simplement faire:
Sur votre fichier settings.py, vous faites:
la source
Cela peut sembler un peu long, mais cela a fonctionné pour moi sans aucune erreur.
Dans un premier temps, installez phppgadmin à partir du centre logiciel Ubuntu.
Ensuite, exécutez ces étapes dans le terminal.
Démarrez le serveur Apache
Maintenant, exécutez-le également dans le terminal pour éditer le fichier apache.
Ajoutez la ligne suivante au fichier ouvert:
Maintenant, rechargez Apache. Utilisez le terminal.
Vous devrez maintenant créer une nouvelle base de données. Connectez-vous en tant qu'utilisateur 'postgres'. Continuez dans le terminal.
Si vous rencontrez des problèmes avec le mot de passe de 'postgres', vous pouvez le modifier en utilisant la réponse ici https://stackoverflow.com/a/12721020/1990793 et continuer avec les étapes.
Créez maintenant une base de données
Créez maintenant un nouvel utilisateur pour vous connecter à phppgadmin plus tard, en fournissant un nouveau mot de passe.
Maintenant, votre postgressql a été configuré et vous pouvez aller à:
et connectez-vous en utilisant le nouvel utilisateur que vous avez créé, afin d'afficher la base de données.
la source
Vous pouvez installer "psycopg" avec la commande suivante:
Vous pouvez également utiliser pip:
easy_install et pip sont inclus avec ActivePython ou installés manuellement à partir des sites de projet respectifs .
Ou, procurez-vous simplement le programme d'installation Windows prédéfini .
la source
sudo apt-get install python-psycopg2
si vous êtes sur un système Debian et que vous souhaitez utiliser le gestionnaire de paquets plutôt que pip / easy_install.Le problème immédiat semble être qu'il vous manque le module psycopg .
la source
Si vous utilisez Fedora 20, Django 1.6.5, postgresql 9.3. * Et que vous avez besoin du module psycopg2, procédez comme suit:
Si vous êtes comme moi, vous pourriez avoir du mal à trouver le rpm libpq-dev bien documenté ... Ce qui précède a fonctionné pour moi en ce moment.
la source
J'avais le même problème sur Mac .
La solution était d'utiliser uniquement PIP pour tout installer et de toucher certaines choses.
Installez d'abord PIP depuis: https://pip.pypa.io/en/latest/
Ensuite, vous voulez vous assurer que le chemin vers pg_config est dans votre PATH (echo $ PATH), sinon vous pouvez éditer votre bash_profile:
et ajoutez cette ligne:
Si vous ne savez pas où se trouve pg_config, vous pouvez utiliser l'outil "Locate", mais assurez-vous que votre Locate.db est à jour (j'utilisais un ancien Locate.db et des chemins qui n'existent pas).
Ensuite, installez Django (si nécessaire) et psycopg2.
Et puis dans settings.py (localhost: defaultport)
Salut!
la source
Année, cela résout mon problème. Après avoir exécuté ceci, faites: pip install psycopg2
la source
Veuillez noter que l'installation de
psycopg2
via pip ou setup.py nécessite d'avoir Visual Studio 2008 (plus précisément le fichier exécutable vcvarsall.bat ). Si vous ne disposez pas des droits d'administrateur pour l'installer ou définir la variable PATH appropriée sous Windows, vous pouvez télécharger la bibliothèque déjà compilée à partir d' ici .la source
C'est l'un des très bons processus étape par étape à installer sur le
PostgreSQL
serveur ubuntu. Je l'ai essayé avecUbuntu 16.04
et ça marche.https://www.digitalocean.com/community/tutorials/how-to-use-postgresql-with-your-django-application-on-ubuntu-14-04
la source