SQLAlchemy与VirtualEnv的问题
我在OS X 10.5的虚拟环境中尝试使用SQLAlchemy,但似乎根本无法加载它。
这是我所做的事情:
mkvirtualenv --no-site-packages test
easy_install sqlalchemy
我尝试从解释器中导入sqlalchemy,一切都正常,但如果我从一个Python脚本中导入sqlalchemy,就会出现以下错误:
这是来自IBM的教程脚本:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
Base = declarative_base()
class Filesystem(Base):
__tablename__ = 'filesystem'
path = Column(String, primary_key=True)
name = Column(String)
def __init__(self, path,name):
self.path = path
self.name = name
def __repr__(self):
return "<Metadata('%s','%s')>" % (self.path,self.name)
我尝试运行'python test.py',结果是:
$ python test.py
Traceback (most recent call last):
File "test.py", line 4, in <module>
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
File "/Users/grant/Development/Aircraft/sqlalchemy.py", line 3, in <module>
from sqlalchemy.ext.declarative import declarative_base
ImportError: No module named ext.declarative
这是我sys.path中的内容:
>>> import sys
>>> print '\n'.join(sys.path)
/Users/grant/Development/Python/test/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg
/Users/grant/Development/Python/test/lib/python2.6/site-packages/SQLAlchemy-0.5.4p2-py2.6.egg
/Users/grant/Development/Python/test/lib/python26.zip
/Users/grant/Development/Python/test/lib/python2.6
/Users/grant/Development/Python/test/lib/python2.6/plat-darwin
/Users/grant/Development/Python/test/lib/python2.6/plat-mac
/Users/grant/Development/Python/test/lib/python2.6/plat-mac/lib-scriptpackages
/Users/grant/Development/Python/test/lib/python2.6/lib-tk
/Users/grant/Development/Python/test/lib/python2.6/lib-old
/Users/grant/Development/Python/test/lib/python2.6/lib-dynload
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages
/Users/grant/Development/Python/test/lib/python2.6/site-packages
有没有人知道发生了什么事??
1 个回答
8
我自己解决了问题……我在工作目录里有另一个叫做 sqlalchemy.py 的脚本,它搞乱了所有的东西。