python django - 即使安装了编译后的版本psycopg2-2.4.5.win32-py2.7.exe也没有模块psycopg2.extension

ram*_*mar 9 python django psycopg2 heroku

我在Windows上使用python django,并尝试部署到heroku.当我尝试使用pip安装psycopg2时,

     pip install psycopg2 
Run Code Online (Sandbox Code Playgroud)

我得到错误:
无法找到vcvarsall.bat
然后我发现我需要安装visual studio 2008(或)我可以直接下载并安装编译版本,所以从这个链接下载:
http://www.lfd.uci.edu / ~gohlke/pythonlibs /
我下载的文件名:psycopg2-2.4.5.win32-py2.7.exe
即使安装完成后我也收到错误:没有名为psycopg2.extensions的模块

那么,我还应该做些什么呢?

            D:\mycode\python\mysite>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:\mycode\python\mysite>                            
Run Code Online (Sandbox Code Playgroud)

虽然通过pip和easy_install来调用psycopg2,但是installdidnt正常工作,因为我收到了这个错误:无法找到带有一些消息的vcvarsall.bat:没有预先包含匹配'doc\src_build'的directores

谢谢

Col*_*old 14

尽管在互联网上有一些声明,但psycopg2可以在VirtualEnv中工作.

下载win-psycopg2的正确版本.通常我使用32位Python 2.7,所以我得到了psycopg2-2.4.5.win32-py2.7-pg9.1.3-release.exe.

您无法将此文件安装到VirtualEnv中,但您可以将.exe文件重命名为.zip并使用7-Zip等实用程序打开.您将获得一个名为"psycopg2"的文件夹和一个名为"psycopg2-2.4.5-py2.7.egg-info"的文件.将这些复制到:

[...]\ENVS\MyVirtualEnv\LIB \站点包

这对我有用,希望它适合你.

  • 这实际上有效.应该是官方的答案. (2认同)

Rad*_*kan 0

看看http://slacy.com/blog/2010/09/python-unable-to-find-vcvarsall-bat/。看来您需要安装 Microsoft Visual Studio Express 来解决 vcvarsall.bat 问题。相当疯狂...