Home > pyinstaller, python > PyInstaller: ImportError: No module named flask.ext.sqlalchemy

PyInstaller: ImportError: No module named flask.ext.sqlalchemy

23 Gennaio 2015

PyInstaller: ImportError: No module named flask.ext.sqlalchemy

Ho creato una applicazione che fa uso di flask_sqlalchemy
Con PyInstaller creo i binari da far girare su win, ma quando lancio l’eseguibile creato, ottengo l’errore:

ImportError: No module named flask.ext.sqlalchemy

questo è dovuto al fatto che sqlalchemy non è direttamente sotto flask.ext, ma è una sorta di redirect proveniente dalla
directory flask-sqlalchemy (vedere la struttura degli ‘egg’ in Python27/Lib/site-packages)

Inserendo l’importazione vera e propria nel file che compilo:

# pyinstaller
import flask_sqlalchemy._compat as _

import flask.ext.sqlalchemy as s

o modificando il file spec aggiungendo gli import alla voce hiddenimports:

Analysis(['hello.py'],
             hiddenimports=['flask_sqlalchemy', 'flask_sqlalchemy._compat']
             #...
             )

quando lancio la compilazione con

python pyinstaller/pyinstaller.py --onefile miofile.py --name mionome

il problema si risolve!

Questo ultimo comando deriva dal fatto, che avendo un problema su pyinstaller ho scaricato
nella directory dello script da compilare, la versione ultima di pyinstaller tramite git:

git clone https://github.com/pyinstaller/pyinstaller
Categorie:pyinstaller, python Tag:
I commenti sono chiusi.