cx_Freezeを用いてプログラムのexe化を行っています。
しかし、exeファイルを起動した際以下のエラーが起こってしまい起動しません。
どなたかご教授いただければ幸いです。
エラーコード
ModuleNotFoundError: No module named 'scipy.sparse.csgraph._validation'
プログラムではscipyはimportしていません。
以下プログラム中のimport文
python
1# -- coding utf-8 -- 2 3import fileselect as fs 4import pydicom 5import numpy as np 6import matplotlib.pyplot as plt 7import matplotlib.patches as patches 8from tqdm import tqdm 9import seaborn as sns
setupファイルは以下となります。
python
1# coding: utf-8 2 3import sys, os 4from cx_Freeze import setup, Executable 5 6file_path = input("アプリ化したいpy:") 7 8if sys.platform == "win32": 9 base = None # "Win32GUI" ←GUI有効 10 os.environ['TCL_LIBRARY'] = "C:\Users\xxx\anaconda3\envs\v3.6\tcl\tcl8.6" 11 os.environ['TK_LIBRARY'] = "C:\Users\xxx\anaconda3\envs\v3.6\tcl\tk8.6" 12 13else: 14 base = None # "Win32GUI" 15 16packages = ["matplotlib","numpy",'pydicom','tqdm'] 17 18includes = [ 19 "matplotlib", 20 "pydicom", 21 "numpy", 22 "tqdm" 23 24] 25 26excludes = [ 27 "PIL", 28 "lxml" 29 30] 31 32exe = Executable( 33 script=file_path, 34 base=base 35) 36 37setup(name='main', 38 options={ 39 "build_exe": { 40 "packages": packages, 41 "includes": includes, 42 "excludes": excludes, 43 } 44 }, 45 version='0.1', 46 description='converter', 47 executables=[exe])
よろしくお願いいたします。
exeにしたいのみの理由でしたらpyinstallerがおすすめです(日本語情報が多い・setupファイル自動生成)
kumitatepazuru_様
コメントありがとうございます。
pyinstaller、以前使用していたのですが
何せ、起動が遅くて短気な私にはちょっと耐えられませんでした。
なるほど。exeを一ファイルにまとめると起動が激重になります。一ファイルにしないでやってみましたでしょうか。
アドバイスありがとうございます。
pyinstallerを用いてexe化については単一ファイルにてexe化しか考えていなかったので目から鱗の状態でした。
ただ、実行してみた結果
ModuleNotFoundError: No module named 'pkg_resources.py2_warn'
[6680] Failed to execute script pyi_rth_pkgres
のエラーが出てしまい実行できませんでした・・・・・
これからもう少し調べてみます。
ありがとうございました。
回答1件
あなたの回答
tips
プレビュー