DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'myproject', 'USER': 'myprojectuser', 'PASSWORD': 'mypass', 'HOST': '127.0.0.1', 'PORT': '5432', } }
При попытке
python manage.py syncdb
Traceback (most recent call last): File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 20, in <module> import psycopg2 as Database ImportError: No module named 'psycopg2' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/var/www/myproject/env/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line utility.execute() File "/var/www/myproject/env/lib/python3.4/site-packages/django/core/management/__init__.py", line 312, in execute django.setup() File "/var/www/myproject/env/lib/python3.4/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/var/www/myproject/env/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/var/www/myproject/env/lib/python3.4/site-packages/django/apps/config.py", line 198, in import_models self.models_module = import_module(models_module_name) File "/var/www/myproject/env/lib/python3.4/importlib/__init__.py", line 109, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 2254, in _gcd_import File "<frozen importlib._bootstrap>", line 2237, in _find_and_load File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked File "<frozen importlib._bootstrap>", line 1129, in _exec File "<frozen importlib._bootstrap>", line 1471, in exec_module File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed File "/var/www/myproject/env/lib/python3.4/site-packages/django/contrib/auth/models.py", line 41, in <module> class Permission(models.Model): File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/models/base.py", line 139, in __new__ new_class.add_to_class('_meta', Options(meta, **kwargs)) File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/models/base.py", line 324, in add_to_class value.contribute_to_class(cls, name) File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/models/options.py", line 250, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/__init__.py", line 36, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/utils.py", line 240, in __getitem__ backend = load_backend(db['ENGINE']) File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/utils.py", line 111, in load_backend return import_module('%s.base' % backend_name) File "/var/www/myproject/env/lib/python3.4/importlib/__init__.py", line 109, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 2254, in _gcd_import File "<frozen importlib._bootstrap>", line 2237, in _find_and_load File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked File "<frozen importlib._bootstrap>", line 1129, in _exec File "<frozen importlib._bootstrap>", line 1471, in exec_module File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed File "/var/www/myproject/env/lib/python3.4/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 24, in <module> raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'
При попытке
sudo pip3 install psycopg2
pip3 install psycopg2 Downloading/unpacking psycopg2 Downloading psycopg2-2.6.1.tar.gz (371kB): 371kB downloaded Running setup.py (path:/tmp/pip-build-ui2ldts8/psycopg2/setup.py) egg_info for package psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 Skipping implicit fixer: buffer Skipping implicit fixer: idioms Skipping implicit fixer: set_literal Skipping implicit fixer: ws_comma building 'psycopg2._psycopg' extension i586-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_$ In file included from psycopg/psycopgmodule.c:27:0: ./psycopg/psycopg.h:30:20: fatal error: Python.h: Нет такого файла или каталога #include <Python.h> ^ compilation terminated. error: command 'i586-linux-gnu-gcc' failed with exit status 1 Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-ui2ldts8/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)$ running install running build running build_py creating build creating build/lib.linux-i686-3.4 creating build/lib.linux-i686-3.4/psycopg2 copying lib/pool.py -> build/lib.linux-i686-3.4/psycopg2 copying lib/tz.py -> build/lib.linux-i686-3.4/psycopg2 ... copying tests/test_transaction.py -> build/lib.linux-i686-3.4/psycopg2/tests copying tests/test_cursor.py -> build/lib.linux-i686-3.4/psycopg2/tests copying tests/test_module.py -> build/lib.linux-i686-3.4/psycopg2/tests Skipping implicit fixer: buffer Skipping implicit fixer: idioms Skipping implicit fixer: set_literal Skipping implicit fixer: ws_comma running build_ext building 'psycopg2._psycopg' extension creating build/temp.linux-i686-3.4 creating build/temp.linux-i686-3.4/psycopg i586-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_DEFA$ In file included from psycopg/psycopgmodule.c:27:0: ./psycopg/psycopg.h:30:20: fatal error: Python.h: Нет такого файла или каталога #include <Python.h> ^ compilation terminated. error: command 'i586-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Cleaning up... Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-ui2ldts8/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace$
Про Python.h погуглил, пишут, что нужно установить python-dev.
При попытке sudo apt-get install python-dev выдается ошибка:
Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Некоторые пакеты невозможно установить. Возможно, вы просите невозможного, или же используете нестабильную версию дистрибутива, где запрошенные вами пакеты ещё не созданы или были удалены из Incoming. Следующая информация, возможно, поможет вам: Пакеты, имеющие неудовлетворённые зависимости: python-dev : Зависит: libpython-dev (= 2.7.9-1) но он не будет установлен Зависит: python2.7-dev (>= 2.7.9-1~) но он не будет установлен E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
Update:
Установил-таки python3-psycopg2 через aptitude. Но в виртуальном окружении при выполнении syncdb те же ошибки, не видит psycopg2
Вне виртуального окружения:
dpkg -l "*psycopg2*"
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h] | Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/ частично установлен[H]/trig-aWait/Trig-pend |/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр в полях состояния и ошибки указывает на ненормальную ситуацию) ||/ Имя Версия Архитектура Описание +++-=============================-===================-===================-================================================================ un python-psycopg2-doc <нет> <нет> (описание недоступно) ii python3-psycopg2 2.5.4+dfsg-1 i386 Python 3 module for PostgreSQL un python3.4-psycopg2 <нет> <нет> (описание недоступно)