2014-01-12 3 views
8

Im, использующий Windows 7 для разработки Django 1.3.7 с использованием PostgreSQL 9.3 в качестве базы данных. На моем settings.py я поставил DATABASE_ENGINE = 'django.db.backends.postgresql_psycopg2', но когда я пытаюсь выполнить python manage.py syncdb я получил эту ошибку:error: Не удалось найти vcvarsall.bat при установке psycopg2 в windows7

C:\Django-Proj\myproj\myproj>python manage.py syncdb 
Traceback (most recent call last): 
    File "manage.py", line 61, 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 78, in <modul 
e> 
    connection = connections[DEFAULT_DB_ALIAS] 
    File "c:\Python27\lib\site-packages\django\db\utils.py", line 93, 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_psycopg2\bas 
e.py", line 24, in <module> 
    raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e) 
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No m 
odule named psycopg2 

Тогда я пытаюсь установить psycopg2, но он получил ошибку:

C:\>pip install psycopg2 
Downloading/unpacking psycopg2 
    Running setup.py (path:c:\users\samuel\appdata\local\temp\pip_build_Samuel\psy 
copg2\setup.py) egg_info for package psycopg2 

Installing collected packages: psycopg2 
    Running setup.py install for psycopg2 
    building 'psycopg2._psycopg' extension 
    error: Unable to find vcvarsall.bat 
    Complete output from command C:\Python27\python.exe -c "import setuptools, t 
okenize;__file__='c:\\users\\samuel\\appdata\\local\\temp\\pip_build_Samuel\\psy 
copg2\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().r 
eplace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\samuel\appda 
ta\local\temp\pip-dsnjrg-record\install-record.txt --single-version-externally-m 
anaged --compile: 
    running install 

running build 

running build_py 

creating build 

creating build\lib.win-amd64-2.7 

creating build\lib.win-amd64-2.7\psycopg2 

copying lib\errorcodes.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\extensions.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\extras.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\pool.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\psycopg1.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\tz.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\_json.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\_range.py -> build\lib.win-amd64-2.7\psycopg2 

copying lib\__init__.py -> build\lib.win-amd64-2.7\psycopg2 

creating build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\dbapi20.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\dbapi20_tpc.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\testconfig.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\testutils.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_async.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_bugX000.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_bug_gc.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_cancel.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_connection.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_copy.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_cursor.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_dates.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_extras_dictcursor.py -> build\lib.win-amd64-2.7\psycopg2\test 
s 

copying tests\test_green.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_lobject.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_module.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_notify.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_psycopg2_dbapi20.py -> build\lib.win-amd64-2.7\psycopg2\tests 


copying tests\test_quote.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_transaction.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_types_basic.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_types_extras.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\test_with.py -> build\lib.win-amd64-2.7\psycopg2\tests 

copying tests\__init__.py -> build\lib.win-amd64-2.7\psycopg2\tests 

running build_ext 

building 'psycopg2._psycopg' extension 

error: Unable to find vcvarsall.bat 

---------------------------------------- 
Cleaning up... 
Command C:\Python27\python.exe -c "import setuptools, tokenize;__file__='c:\\use 
rs\\samuel\\appdata\\local\\temp\\pip_build_Samuel\\psycopg2\\setup.py';exec(com 
pile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __f 
ile__, 'exec'))" install --record c:\users\samuel\appdata\local\temp\pip-dsnjrg- 
record\install-record.txt --single-version-externally-managed --compile failed w 
ith error code 1 in c:\users\samuel\appdata\local\temp\pip_build_Samuel\psycopg2 

Storing debug log for failure in C:\Users\Samuel\pip\pip.log 

Кто-нибудь есть идея о мое дело? заранее спасибо

ответ

17

Существует огромный список неофициальных бинарных файлов Windows для пакетов расширения Python, которые чрезвычайно полезны для пользователей Windows.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#psycopg

Перейти к ссылке, скачать и установить его, и вы хорошо идти.

Cheers!

+0

Вы можете отметить ответ, как принято, если это поможет вам. – ajkumar25

+1

Спасибо большое, я получил самую лучшую информацию от вас, наконец, загрузил последнюю версию psycopg2 и работал в Python34 – haidarvm

+0

Как установить файл '.whl'? – CodyBugstein

4

Не пытайтесь скомпилировать psycopg2 для Windows. Вам понадобится установка Visual Studio или Windows SDK и всевозможные беспорядки.

Просто возьмите двоичный файл: http://initd.org/psycopg/download/

Смежные вопросы