閲覧ありがとうございます。
kivyとPyInstallerを使いタイマーアプリを作ったのですが、exeファイルを起動しようとすると、「Falled to execute script main」と出てきて起動できません。
プログラムの最初でsoundloaderでmp3ファイルをを読み込んでいるのですが、それに関する記述をコメントアウトしたところ、問題なくexe化できました。ただ、それだと音が鳴らないので困っています。
どうすればエラーが出ずにexeファイル化できますか、または、exeファイルで音を出すにはどうすればいいですか?
環境
python 3.4.5
kivy 1.10.0
PyInstaller 3.3.1
こちらのサイトを参考にexe化しました
https://www.closetoyou.jp/kivy/introduction-to-kivy16/
追記
下記のコードで試したのですが、やはりexe化の際にエラーがでてきます。
OS windows10
使用ファイル
・main.py
・timer.kv
・default.mp3
pyinstaller --noconsole main.py
pyinstaller main.spec
python
1from kivy.app import App 2from kivy.uix.screenmanager import ScreenManager, Screen 3from kivy.core.audio import SoundLoader 4from kivy.resources import resource_add_path 5import sys 6 7if hasattr(sys, '_MEIPASS'): 8 resource_add_path(sys._MEIPASS) 9 10sm = ScreenManager() 11endSound = SoundLoader.load('default.mp3') 12endSound.volume = 0.1 13 14 15class TimerScreen(Screen): 16 17 def start(self): 18 endSound.play() 19 20 def stop(self): 21 endSound.stop() 22 23 24class TimerApp(App): 25 26 def build(self): 27 sm.add_widget(TimerScreen(name='time')) 28 return sm 29 30 31if __name__ == '__main__': 32 TimerApp().run() 33
kv
1#:kivy 1.10.0 2<TimerScreen>: 3 BoxLayout: 4 Button: 5 text: 'start' 6 on_press: root.start() 7 Button: 8 text: 'stop' 9 on_press: root.stop() 10
spec
1# -*- mode: python -*- 2from kivy.deps import sdl2, glew 3block_cipher = None 4 5 6a = Analysis(['main.py'], 7 pathex=['D:\Users\UserName\Documents\kivy_project_files\20180117 timer'], 8 binaries=[], 9 datas=[('default.mp3', '.'), ('timer.kv', '.')], 10 hiddenimports=[], 11 hookspath=[], 12 runtime_hooks=[], 13 excludes=[], 14 win_no_prefer_redirects=False, 15 win_private_assemblies=False, 16 cipher=block_cipher) 17pyz = PYZ(a.pure, a.zipped_data, 18 cipher=block_cipher) 19exe = EXE(pyz, 20 a.scripts, 21 exclude_binaries=True, 22 name='main', 23 debug=False, 24 strip=False, 25 upx=True, 26 console=False ) 27coll = COLLECT(exe, 28 a.binaries, 29 a.zipfiles, 30 a.datas, 31 *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)], 32 strip=False, 33 upx=True, 34 name='main') 35
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/17 12:56
2018/01/17 20:58
2018/01/19 04:26