我無法通過py2app獲取SQLAlchemy與我編譯的應用程序一起工作。我已經用py2exe在Windows中成功完成了這個任務。以下是我的安裝文件:SQLAlchemy與py2app的mysql方言錯誤
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: Could not determine dialect for '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'
林假設你有http://sourceforge.net/projects/ mysql-python/installed,有適當的版本,你有哪些版本的python?我沒有調用py2app就可以正常工作。 –
我這樣做,我跑2.7。是的,它像往常一樣運行python文件時工作。 – Cryptite
好吧,這是與Mac OS X或您自己安裝的版本一起提供的python的默認版本,它可能是py2app引用系統,而當您測試它時,它引用您的系統,它也可能是路徑問題沒有正確設置。 –