0

当我使用 web.py 连接本地 mysql 时,显示一些错误:

Traceback (most recent call last):
  File "code.py", line 7, in <module>
    db = web.database(dbn='mysql',user='root',pw='123456',db='pytable')
  File "/Library/Python/2.6/site-packages/web.py-0.34-py2.6.egg/web/db.py", line 1078, in database
    return _databases[dbn](**params)
  File "/Library/Python/2.6/site-packages/web.py-0.34-py2.6.egg/web/db.py", line 928, in __init__
    import MySQLdb as db
  File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/rlog/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): no suitable image found.  Did find:
    /Users/rlog/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so: mach-o, but wrong architecture

我的python代码是这样的:

import web
render = web.template.render('templates/')
urls = (
    "/(.*)","index"
)
app = web.application(urls,globals())
db = web.database(dbn='mysql',user='root',pw='123456',db='pytable')
class index:
    def GET(self):
        todos = db.select('todo')
        return render.index(todos)
if __name__=="__main__":app.run()

我的 python 版本是 2.6.1

我该如何解决?

谢谢

4

2 回答 2

0

mysql您为 Python 安装的适配器已损坏或用于不同的体系结构。我不确定你是如何安装它的(或者这些东西在 OSX 上是如何工作的)。这是一个讨论安装的问题。如果你做对了,它应该可以正常工作(假设凭据是正确的)。

于 2011-05-19T18:10:58.097 回答
0

db = web.database(dbn='mysql', db='projefg9_emearmy_ps_erc', user='root', pw='admin')

其中 dbn -- 您正在使用的数据库(对于 mysql,它是“mysql”) db -- 数据库名称 user -- 您的数据库的用户名 pw -- 您的数据库的密码

于 2015-12-24T11:37:24.577 回答