SQLAlchemy mysql方言错误与py2app

SQLAlchemy mysql方言错误与py2app,sqlalchemy,pyqt,py2app,Sqlalchemy,Pyqt,Py2app,在通过py2app后,我很难让SQLAlchemy与我编译的应用程序一起工作。我已经用py2exe在Windows中成功地完成了这项工作。以下是我的安装文件: APP = ['Blah.py'] DATA_FILES = [] OPTIONS = {'argv_emulation': True, 'includes': ['sip', 'PyQt4._qt', 'sqlalche

在通过py2app后,我很难让SQLAlchemy与我编译的应用程序一起工作。我已经用py2exe在Windows中成功地完成了这项工作。以下是我的安装文件:

APP = ['Blah.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True,
           'includes': ['sip',
                        'PyQt4._qt',
                        'sqlalchemy.dialects.mysql',
                        'MySQLdb',
                        "gzip"]
           }

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)
这似乎是正确的方法,因为我见过有人在sqlite中使用它,但在编译后尝试运行应用程序时仍然会出现此错误:

sqlalchemy.exc.ArgumentError:无法确定“mysql+mysqldb”的方言。

我最近一直在尝试PyInstaller,但几乎在同一个位置遇到了问题,尽管出现了以下不同的错误:

 Traceback (most recent call last):
   File "<string>", line 96, in <module>
   File "/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/PyInstaller/loader/iu.py", line 386, in importHook
     mod = _self_doimport(nm, ctx, fqname)
   File "/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/PyInstaller/loader/iu.py", line 480, in doimport
     exec co in mod.__dict__
   File "build/bdist.macosx-10.7-intel/egg/MySQLdb/__init__.py", line 19, in <module>
   File "/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/PyInstaller/loader/iu.py", line 386, in importHook
     mod = _self_doimport(nm, ctx, fqname)
   File "/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/PyInstaller/loader/iu.py", line 480, in doimport
     exec co in mod.__dict__
   File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 7, in <module>
   File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 4, in __bootstrap__
   File "OSX_Installer/Jango/build/pyi.darwin/Jango/out00-PYZ.pyz/pkg_resources", line 882, in resource_filename
   File "OSX_Installer/Jango/build/pyi.darwin/Jango/out00-PYZ.pyz/pkg_resources", line 1352, in get_resource_filename
   File "OSX_Installer/Jango/build/pyi.darwin/Jango/out00-PYZ.pyz/pkg_resources", line 1363, in _extract_resource
 KeyError: '_mysql/_mysql.so'
回溯(最近一次呼叫最后一次):
文件“”,第96行,在
importHook中的文件“/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/pyinstaller/loader/iu.py”,第386行
mod=\u self\u doimport(nm、ctx、fqname)
文件“/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/pyinstaller/loader/iu.py”,第480行,在doimport中
执行公司在国防部__
文件“build/bdist.macosx-10.7-intel/egg/MySQLdb/_init__.py”,第19行,在
importHook中的文件“/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/pyinstaller/loader/iu.py”,第386行
mod=\u self\u doimport(nm、ctx、fqname)
文件“/Users/tom/Downloads/pyinstaller-pyinstaller-2145d84/pyinstaller/loader/iu.py”,第480行,在doimport中
执行公司在国防部__
文件“build/bdist.macosx-10.7-intel/egg/_mysql.py”,第7行,在
文件“build/bdist.macosx-10.7-intel/egg/_mysql.py”,第4行,在引导程序中__
文件“OSX_安装程序/Jango/build/pyi.darwin/Jango/out00 PYZ.PYZ/pkg_资源”,第882行,在资源文件名中
文件“OSX_安装程序/Jango/build/pyi.darwin/Jango/out00 PYZ.PYZ/pkg_资源”,第1352行,位于get_资源文件名中
文件“OSX_安装程序/Jango/build/pyi.darwin/Jango/out00 PYZ.PYZ/pkg_资源”,第1363行,在_extract_资源中
KeyError:“\u mysql/\u mysql.so”

您可能还需要
\u mysql
,它应该包括本机mysql绑定。此外,此绑定需要在目标系统上安装二进制mysql库


如果您使用纯python mysql库,例如或(两者都是)

您可能还需要
\u mysql
,其中应该包括本机mysql绑定,那么您的应用程序可能会更易于移植。此外,此绑定需要在目标系统上安装二进制mysql库


如果您使用纯python mysql库,例如或(两者都是)

不走运,尝试使用两者轻松安装,并将mysql添加到包含列表中,那么您的应用程序可能会更具可移植性,我也会遇到同样的错误。还有其他想法吗/运气不好,尝试了一个简单的安装,并将mysql添加到包含列表中,我得到了相同的错误。还有其他想法吗/我假设您已经安装了相应版本的python,您有哪个版本?我认为它在不调用py2app的情况下运行得很好。是的,我正在运行2.7。是的,它在运行python文件时正常工作。好的,这是Mac OS X附带的python默认版本还是您自己安装的版本,可能是py2app引用了系统,而当您测试它时,它引用了您的系统,也可能是路径设置不正确的问题。您尝试过吗,我并没有停留在大致相同的位置上,尽管有不同的错误。请参阅OP.Im,假设您已经安装了相应版本的python,您有哪个版本?我认为它在不调用py2app的情况下运行得很好。是的,我正在运行2.7。是的,它在运行python文件时正常工作。好的,这是Mac OS X附带的python默认版本还是您自己安装的版本,可能是py2app引用了系统,而当您测试它时,它引用了您的系统,也可能是路径设置不正确的问题。您尝试过吗,我并没有停留在大致相同的位置上,尽管有不同的错误。见执行部分。