前提・実現したいこと
pythonにて作成したコードをpy2exeによってexe化しようとしていますが
コード中にopenpyxlを入れたところエラーが出てexe化処理に失敗しています。
発生している問題・エラーメッセージ
File "C:\ProgramData\Anaconda3\lib\site-packages\py2exe\mf3.py", line 215, in _resolve_name
raise ValueError('attempted relative import beyond top-level package')
ValueError: attempted relative import beyond top-level package
※実際には約600行に渡るエラーでしたが、末尾の3行を抜き出しています。
該当のソースコード、コマンド
ターミナルから実行したコマンド
python setup.py py2exe
##上記コマンドで指定しているソースコードSetup.py
from distutils.core import setup
import py2exe
setup(console=["sample_exe.py"])
Setup.pyが参照するソースコードsample_exe.py
import openpyxl
print("py2exe complete")
試したこと
openpyxlをimportしない → exe化処理が正常に終了する
numpy、tkinterをimportする → exe化処理が正常に終了する
よってopenpyxlのみ、あるいはこの他にも特定のライブラリをimportしたときのみに発生する問題ではないかと考えています。
補足情報
##バージョン情報
OS:Windows10 Pro 64bit Ver.1909 OS Build 18363.836
Python:3.8.3
openpyxl:3.0.3
py2exe:
エディタ:VisualStudioCodeバージョン1.45.1
##py2exeのpython3.7環境への導入
pipにてダウンロードされるpy2exeライブラリはpython3.4までとのことですが、
こちらのサイトにあった情報を元にpython3.7でも使用できるものを導入しました。
https://note.com/noelrecords/n/n0dc600acf1c0
回答1件
あなたの回答
tips
プレビュー