Jestem nowy w Pythonie i Django.
Konfiguruję projekt Django przy użyciu zaplecza silnika bazy danych PostgreSQL, ale otrzymuję błędy przy każdej operacji na bazie danych. Na przykład, kiedy biegam manage.py syncdb
, otrzymuję:
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
Czy ktoś może mi podpowiedzieć, co się dzieje?
Odpowiedzi:
Musisz zainstalować
psycopg2
bibliotekę Python.Instalacja
Pobierz http://initd.org/psycopg/ , a następnie zainstaluj go w Python PATH
Po pobraniu łatwo rozpakuj archiwum i:
Jeśli chcesz, zainstaluj go za pomocą easy_install lub pip .
( Wolę używać pip zamiast easy_install bez powodu ).
$ easy_install psycopg2
$ pip install psycopg2
Konfiguracja
w ustawieniach .py
- Inne instrukcje dotyczące instalacji można znaleźć na stronie pobierania i stronie instalacji .
źródło
psycopg2.OperationalError: fe_sendauth: no password supplied
kiedy biegnępython manage.py syncdb
. Ustawiłem losową nazwę tabeli i nazwę użytkownika.django.db.backends.postgresql
nie działapsycopg2
. to, co działało, todjango.db.backends.postgresql_psycopg2
zaplecze i uniknięto określania numeru portu, ponieważ zmienia się on za każdym razem, gdy uruchamiasz pgAdmin wUpewnij się również, że masz zainstalowany pakiet deweloperski PostgreSQL. W Ubuntu musisz zrobić coś takiego:
źródło
Krok po kroku, którego używam:
Możesz zainstalować narzędzie graficzne do zarządzania bazami danych, w tym celu możesz:
Następnie musisz zmienić hasło użytkownika Postgre, a następnie:
W swoim pliku settings.py robisz:
Dodatkowy:
Jeśli chcesz utworzyć bazę danych za pomocą wiersza poleceń, możesz po prostu zrobić:
W swoim pliku settings.py robisz:
źródło
Może się to wydawać trochę długie, ale zadziałało bez żadnego błędu.
Najpierw zainstaluj phppgadmin z Ubuntu Software Center.
Następnie wykonaj te kroki w terminalu.
Uruchom serwer Apache
Teraz uruchom to również w terminalu, aby edytować plik Apache.
Dodaj następujący wiersz do otwartego pliku:
Teraz przeładuj apache. Użyj terminala.
Teraz będziesz musiał stworzyć nową bazę danych. Zaloguj się jako użytkownik „postgres”. Kontynuuj w terminalu.
W przypadku problemów z hasłem „postgres”, możesz je zmienić, korzystając z odpowiedzi tutaj https://stackoverflow.com/a/12721020/1990793 i kontynuować wykonywanie kroków.
Teraz utwórz bazę danych
Teraz utwórz nowego użytkownika, aby zalogować się do phppgadmin później, podając nowe hasło.
Teraz Twój postgressql został skonfigurowany i możesz przejść do:
i zaloguj się przy użyciu nowego utworzonego użytkownika, aby wyświetlić bazę danych.
źródło
Możesz zainstalować "psycopg" za pomocą następującego polecenia:
Alternatywnie możesz użyć pip:
easy_install i pip są zawarte w ActivePython lub ręcznie instalowane z odpowiednich witryn projektu .
Lub po prostu pobierz wstępnie wbudowany instalator systemu Windows .
źródło
sudo apt-get install python-psycopg2
jeśli jesteś w systemie Debian i chcesz użyć menedżera pakietów zamiast pip / easy_install.Bezpośrednim problemem wydaje się być brak modułu psycopg .
źródło
Jeśli używasz Fedory 20, Django 1.6.5, postgresql 9.3. * I potrzebujesz modułu psycopg2, zrób to:
Jeśli jesteś podobny do mnie, możesz mieć problem ze znalezieniem dobrze udokumentowanego pliku rpm libpq-dev… Powyższe działało dla mnie właśnie teraz.
źródło
Miałem ten sam problem na komputerze Mac .
Rozwiązaniem było użycie tylko PIP do zainstalowania wszystkiego i dotknięcia niektórych rzeczy.
Najpierw zainstaluj PIP z: https://pip.pypa.io/en/latest/
Następnie chcesz się upewnić, czy ścieżka do pg_config znajduje się w Twojej PATH (echo $ PATH), jeśli nie, możesz edytować swój bash_profile:
i dodaj tę linię:
Jeśli nie wiesz, gdzie jest pg_config, możesz użyć narzędzia „locate”, ale upewnij się, że plik locate.db jest aktualny (używałem starego locate.db i ścieżek, które nie istnieją).
Następnie zainstaluj Django (w razie potrzeby) i psycopg2.
A potem w settings.py (localhost: defaultport)
Pozdrawiam!
źródło
Rok, to rozwiązuje mój problem. Po wykonaniu tego wykonaj: pip install psycopg2
źródło
Należy pamiętać, że instalacja
psycopg2
przez pip lub setup.py wymaga posiadania programu Visual Studio 2008 (a dokładniej pliku wykonywalnego vcvarsall.bat ). Jeśli nie masz uprawnień administratora, aby go zainstalować lub ustawić odpowiednią zmienną PATH w systemie Windows, możesz pobrać już skompilowaną bibliotekę stąd .źródło
Jest to jeden z bardzo dobrych i krok po kroku procesu konfiguracji
PostgreSQL
na serwerze Ubuntu. Wypróbowałem toUbuntu 16.04
i działa.https://www.digitalocean.com/community/tutorials/how-to-use-postgresql-with-your-django-application-on-ubuntu-14-04
źródło