导入错误:无法导入名称 tz (psycopg2)

0 投票
1 回答
3379 浏览
提问于 2025-04-16 07:15

我在使用Windows XP,并且从http://www.python.org/ftp/python/2.7/python-2.7.msi安装了Python 2.7。

如果我在独立的应用程序中运行,import psycopg2不会有任何问题。但是,当我使用mod_wsgi和apache时,就会出现以下错误:

[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1] mod_wsgi (pid=2832): Target WSGI script 'C:/Projects/SandBox/web/script/index.py' cannot be loaded as Python module.
[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1] mod_wsgi (pid=2832): Exception occurred processing WSGI script 'C:/Projects/SandBox/web/script/index.py'.
[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1] Traceback (most recent call last):
[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1]   File "C:/Projects/SandBox/web/script/index.py", line 9, in <module>
[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1]     import psycopg2
[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1]   File "build\\bdist.win32\\egg\\psycopg2\\__init__.py", line 65, in <module>
[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1]     from psycopg2 import tz
[Thu Nov 18 14:26:51 2010] [error] [client 127.0.0.1] ImportError: cannot import name tz

这是我的Python脚本。

import sys, os
sys.path.append(os.path.dirname(__file__))

import psycopg2

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

这是httpd.conf文件。

LoadModule wsgi_module modules/mod_wsgi-win32-ap22py27-3.3.so
WSGIScriptAlias / "C:/Projects/SandBox/web/"
<Directory "C:/Projects/SandBox/web">
    AllowOverride None
    Options None
    Order deny,allow
    Allow from all
</Directory>

我检查了这个文件夹C:\Python27\Lib\site-packages\psycopg2-2.2.2-py2.7-win32.egg\,里面有C:\Python27\Lib\site-packages\psycopg2-2.2.2-py2.7-win32.egg\psycopg2\tz.py

1 个回答

1

我猜可能是因为Python不知道你的“蛋缓存”位置(或者没有权限访问它)。你只需要设置一下这个位置。更多信息可以在这里找到。试着设置一下WSGIPythonEggs这个指令。

撰写回答