python django-нет модуля psycopg2.расширение даже после установки скомпилированной версии psycopg2-2.4.5.с Win32-py2.7.исполняемый
Я использую python django в windows и пытаюсь развернуть его в heroku . Когда я попытался установить psycopg2 с помощью pip,
pip install psycopg2
Я получил ошибку :
не удалось найти vcvarsall.летучая мышь!--5-->
Затем я обнаружил, что мне нужно установить visual studio 2008 (или) я могу напрямую загрузить и установить скомпилированную версию, поэтому downlaoded из этой ссылки :
http://www.lfd.uci.edu / ~gohlke / pythonlibs/
Именем я скачал : psycopg2-2.4.5.с Win32-py2.7.exe
Даже после установки этого я получаю ошибку: нет модуля с именем psycopg2.расширения
Итак, что мне еще делать ?
D:mycodepythonmysite>heroku run python manage.py syncdb
Running python manage.py syncdb attached to terminal... up, run.1
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/venv/lib/python2.7/site- packages/django/core/management/__i
nit__.py", line 443, in execute_from_command_line
utility.execute()
File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/__i
nit__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/__i
nit__.py", line 261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/__i
nit__.py", line 69, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/app/.heroku/venv/lib/python2.7/site-packages/django/utils/importlib.py"
, line 35, in import_module
__import__(name)
File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/sql
.py", line 6, in <module>
from django.db import models
File "/app/.heroku/venv/lib/python2.7/site- packages/django/db/__init__.py", line 40, in <module>
backend = load_backend(connection.settings_dict['ENGINE'])
File "/app/.heroku/venv/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/app/.heroku/venv/lib/python2.7/site-packages/django/db/utils.py", line92, in __getitem__
backend = load_backend(db['ENGINE'])
File "/app/.heroku/venv/lib/python2.7/site-packages/django/db/utils.py", line24, in load_backend
return import_module('.base', backend_name)
File "/app/.heroku/venv/lib/python2.7/site-packages/django/utils/importlib.py"
, line 35, in import_module
__import__(name)
File "/app/.heroku/venv/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 13, in <module>
from django.db.backends.postgresql_psycopg2.creation import DatabaseCreation
File "/app/.heroku/venv/lib/python2.7/site- packages/django/db/backends/postgre
sql_psycopg2/creation.py", line 1, in <module>
import psycopg2.extensions
ImportError: No module named psycopg2.extensions
D:mycodepythonmysite>
в то время как isntalling psycopg2 и pip и easy_install, installdidnt работают, поскольку я получил эту ошибку : не удалось найти vcvarsall.bat с некоторым msg: нет ранее включенных режиссеров, соответствующих "docsrc_build"
спасибо
4 ответов
взгляните на http://slacy.com/blog/2010/09/python-unable-to-find-vcvarsall-bat/. Кажется, вам нужно установить Microsoft Visual Studio Express для решения vcvarsall.летучая мышь. Довольно сумасшедшая...
несмотря на некоторые претензии в Интернете, psycopg2 работает в VirtualEnv.
загрузите правильную версию win-psycopg2. Обычно я использую 32-битный Python 2.7, поэтому я получил psycopg2-2.4.5.с Win32-py2.7-pg9.1.3-релиз.исполняемый.
вы не можете установить этот файл в VirtualEnv, но вы можете переименовать его .EXE-файл для .zip и открыть с помощью утилиты, как 7-Zip. Вы получите папку под названием "psycopg2 "и файл под названием" psycopg2-2.4.5-py2.7.egg-info". Скопируйте эти в:
[...]\Envs\MyVirtualEnv\Lib\site-packages
Это сработало для меня, надеюсь, это сработает для вас.
двоичные файлы из этой ссылки: http://www.stickpeople.com/projects/python/win-psycopg/
In settings.py это должно выглядеть так в настройках db
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
вы не можете установить этот файл в VirtualEnv, но вы можете переименовать его .EXE-файл для .zip и открыть с помощью утилиты, как 7-Zip. Вы получите папку под названием "psycopg2 "и файл под названием" psycopg2-2.4.5-py2.7.egg-info". Скопируйте их в: [...]\Envs\MyVirtualEnv\Lib\site-packages
Да, эта работа!