无法导入名称util

问题描述:

我正在尝试使用SQLAlchemy。但是我无法将它导入到我的python脚本中。无法导入名称util

我已经激活了python控制台并输入“import sqlalchemy”,它会抛出我和错误,如下所示。

>>>import sqlalchemy 
File "/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.8-py2.7.egg/sqlalchemy/schema.py", line 31, in <module> 
from sqlalchemy import exc, util, dialects 
ImportError: cannot import name util  

如果有人克服了这个问题,我将不胜感激。由于

+0

有更多的堆栈跟踪信息可用吗? – van 2012-07-25 06:29:52

UTIL正在sqlalchemy.orm 所以from sqlalchemy.orm import util应该工作

+0

你说得对,有一个模块'sqlalchemy.orm.util'。但'SA'也有一个'sqlalchemy.util'包(前者使用BTW)。实际上,发布的代码是来自'SA'本身...... – van 2012-07-25 06:29:38

+0

是的,来自sqlalchemy import exc,util,dialects的代码可以在我的机器上运行..所以它很奇怪,也许是由不同的问题引起的.. – Marcus 2012-07-25 06:44:54

+0

是的,需要更多的信息从用户????? – van 2012-07-25 07:32:24

我的回答大多是无关原来的问题和情况,但搜索的错误消息时,它是这个线程出现的第一个问题一个皮塔来解决这个问题,所以我不妨加入我的案例与金字塔和SQLAlchemy:

与金字塔结合,我有相同的错误(“导入错误:无法导入名称实用程序”)。经过试验的时间和错误的唯一原因,原来,在production.ini我已经设置:

[server:main] 
use = egg:waitress#main 
host = 0.0.0.0 
port = 80 

我还对80端口的Apache2使用,似乎有些奇怪,这应该是相同的。将端口改为例如6543,错误消失,WSGI服务器工作。在必要时,不需要apache2设置(WSGIPythonHome,WSGIPythonPath)。

显然不相关,我不知道为什么端口冲突导致了这个错误,但它可能会帮助别人解决这个问题。