使用Pylons / SQLAlchemy和MySQL的ImportError

时间:2010-04-15 21:54:51

标签: python mysql sqlalchemy pylons

首先,我应该说我对Pylons来说是全新的,试图在PHP / MySQL背景下学习使用Python进行Web开发。我已经看到了这个问题的类似问题,但我的是一个反向版本。

我一直在关注Pylons书(pylonsbook.com)来设置我的应用程序并收到以下错误:

ImportError:libmysqlclient_r.so.15:无法打开共享对象文件:没有这样的文件或目录

我见过的其他问题与使用旧版libmysqlclient_r.so.15的用户有关,而我似乎安装了v16。

对于我能做什么/应该做什么的任何建议都将不胜感激。整个输出低于。

(env)eclipse@eclipse31:/var/www/python/SimpleSite$ paster setup-app development.ini
Running setup_config() from simplesite.websetup
Traceback (most recent call last):
File "/var/www/python/env/bin/paster", line 8, in <module>  
    load_entry_point('PasteScript==1.7.3', 'console_scripts', 'paster')()  
File "/var/www/python/env/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/command.py", line 84, in run
    invoke(command, command_name, options, args[1:])
File "/var/www/python/env/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/command.py", line 123, in invoke
    exit_code = runner.run(args)
File "/var/www/python/env/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/appinstall.py", line 68, in run
    return super(AbstractInstallCommand, self).run(new_args)
File "/var/www/python/env/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/command.py", line 218, in run
    result = self.command()
File "/var/www/python/env/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/appinstall.py", line 456, in command
    self, config_file, section, self.sysconfig_install_vars(installer))
File "/var/www/python/env/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/appinstall.py", line 598, in setup_config
    mod.setup_app, command, filename, section, vars)
File "/var/www/python/env/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/appinstall.py", line 612, in _call_setup_app
    func(command, conf, vars)
File "/var/www/python/SimpleSite/simplesite/websetup.py", line 16, in setup_app
    load_environment(conf.global_conf, conf.local_conf)
File "/var/www/python/SimpleSite/simplesite/config/environment.py", line 48, in load_environment
    engine = engine_from_config(config, 'sqlalchemy.')
File "/var/www/python/env/lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/engine/__init__.py", line 241, in engine_from_config
    return create_engine(url, **opts)
File "/var/www/python/env/lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/engine/__init__.py", line 223, in create_engine
    return strategy.create(*args, **kwargs)
File "/var/www/python/env/lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/engine/strategies.py", line 62, in create
    dbapi = dialect_cls.dbapi(**dbapi_args)
File "/var/www/python/env/lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/databases/mysql.py", line 1456, in dbapi
    import MySQLdb as mysql
File "/var/www/python/env/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-linux-i686.egg/MySQLdb/__init__.py", line 19, in <module>
    File "/var/www/python/env/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-linux-i686.egg/_mysql.py", line 7, in <module>
File "/var/www/python/env/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-linux-i686.egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory

2 个答案:

答案 0 :(得分:2)

安装.so.15版本的库,或者找到或构建针对.so.16的MySQLdb。

答案 1 :(得分:0)

虽然我正在使用Django,但我遇到了同样的错误。我正在使用Ubuntu Lucid(10.04),对我有用的解决方案是删除(或重命名)MySQL_python-1.2.3c1-py2.6-linux-i686.egg目录并安装python-mysqldb,如果你不知道的话还没有。

原因似乎是MySQL_Python二进制egg直接链接到libmysqlclient_15.so,并且此库已被Lucid中的libmysqlclient_16.so替换。

我在http://github.com/rafpaf/OpenHatch

中找到了这个解决方案