【问题标题】:error: Unable to find vcvarsall.bat in installing psycopg2 in windows7错误:在 windows7 中安装 psycopg2 时找不到 vcvarsall.bat
【发布时间】:2014-01-31 04:33:02
【问题描述】:

我使用 Windows 7 开发 Django 1.3.7,使用 PostgreSQL 9.3 作为数据库。在我的settings.py 上,我设置了DATABASE_ENGINE = 'django.db.backends.postgresql_psycopg2',但是当我尝试执行python manage.py syncdb 时出现此错误:

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

有人知道我的案子吗?提前致谢

【问题讨论】:

    标签: python django postgresql windows-7 psycopg2


    【解决方案1】:

    有大量用于 Python 扩展包的非官方 Windows 二进制文件列表,它们对 Windows 用户非常有用。

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

    转到链接,下载并安装它,一切顺利。

    干杯!

    【讨论】:

    • 非常感谢,我从你那里得到了最好的信息,终于下载了最新的 psycopg2 支持并在 Python34 中测试工作
    • 如何安装.whl 文件?
    【解决方案2】:

    不要尝试为 Windows 编译 psycopg2。您需要安装 Visual Studio 或 Windows SDK 以及其他各种杂乱无章的东西。

    只需获取二进制构建:http://initd.org/psycopg/download/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-31
      • 2015-12-14
      • 2015-12-15
      • 1970-01-01
      • 2016-10-06
      • 2011-12-16
      • 2016-04-04
      • 2014-12-04
      相关资源
      最近更新 更多