2016-07-08 8 views
0

pyinstallerを使用して自分のプログラムをパッケージ化しようとしています。コードはWindows上で正常に動作し、SqlAlchemy、OpenCV、pyodbcパッケージを使用します。Python:pyinstallerを台無しにするSqlalchemy?

pyinstallerを実行して実行ファイルを作成し、実行しようとしました。私はエラーを取得しています:

ImportError: No module named ConfigParser 

は今、私は同じことをreranとpyInstallerのからログを見て、警告ました:いくつかの他の人と一緒に

WARNING: Hidden import "sqlalchemy.sql.functions.func" not found! 

を。 ConfigParserを大文字と小文字でイ​​ンポートしようとすると警告が表示されました。

Attempted to add Python module twice with different upper/lowercases: ConfigParser 

ここで問題が発生する可能性がありますか?

答えて

0

私はそれを理解しました。ある程度。
pyInstallerはSWIGファイルをうまく扱っていないようです。

sqlalchemy.utilsにはcompat.pyというファイルがあります。モジュールがすべてのバージョンのpythonと互換性があるようにするためです。 PY3で、それはconfigparser
命名されたのに対し、例えば

は、python2.xで、ConfigParserがありますので、一部はそれに対処するcompat.pyにあります:

if py3: 
    import configparser 
    # Some other such import statements 
elif py2: 
    import ConfigParser as configparser 

、pyInstallerのは困惑しますここではインポートに焦点を当てるので、両方をインポートしようとすると悲惨に失敗します。
これに対処するには、compat.pyファイルを修正し、私が持っているPythonバージョン(2.x)に関連する部分だけを残してください。
pyinstallerを再度実行すると、成功したことが判明しました。 :)

これは非常に原油であり、おそらくそこに何か良いものがありますが、何も見つかりませんでしたので、私のために働いたものを共有しています。

関連する問題