###前提・実現したいこと
Python初学者です。
練習としてPyQt5とvlcを用いたMP3プレーヤを作っています。
せっかくなのでexe化してみようと思いPyInstallerを使ってみたのですが、うまくいきません。
ビルド時のコンソールでの命令文は以下の通りです。
Python
1pyinstaller testGui.py -p "C:\Users\ma8wi\Anaconda3\envs\py35\Lib\site-packages\PyQt5\Qt\bin" -p "C:\Program Files\VideoLAN\VLC"
インポートしているモジュールは以下の通りです。
Python
1import sys 2import os 3import vlc 4import keyboard 5from PyQt5 import QtCore 6from PyQt5 import QtWidgets 7from dateutil.relativedelta import relativedelta 8import pyperclip as clip
生成されたexeファイルを実行した結果のエラーメッセージは以下の通りです。
python
1Traceback (most recent call last): 2 File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line 149, in __init__ 3 File "ctypes\__init__.py", line 351, in __init__ 4OSError: [WinError 126] 指定されたモジュールが見つかりません。 5 6During handling of the above exception, another exception occurred: 7 8Traceback (most recent call last): 9 File "testGui.py", line 11, in <module> 10 File "<frozen importlib._bootstrap>", line 968, in _find_and_load 11 File "<frozen importlib._bootstrap>", line 957, in _find_and_load_unlocked 12 File "<frozen importlib._bootstrap>", line 673, in _load_unlocked 13 File "c:\users\ma8wi\anaconda3\envs\py35\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module 14 exec(bytecode, module.__dict__) 15 File "site-packages\vlc.py", line 198, in <module> 16 File "site-packages\vlc.py", line 169, in find_lib 17 File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line 151, in __init__ 18__main__.PyInstallerImportError: Failed to load dynlib/dll 'libvlc.dll'. Most probably this dynlib/dll was not found when the application was frozen. 19[3156] Failed to execute script testGui
ビルド時のwarningは以下の通りです。
Pyhton
1missing module named resource - imported by posix, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 2missing module named posix - imported by os, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 3missing module named _posixsubprocess - imported by subprocess, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 4missing module named 'org.python' - imported by pickle, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py, xml.sax 5missing module named ce - imported by os, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 6missing module named readline - imported by cmd, code, pdb, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 7excluded module named _frozen_importlib - imported by importlib, importlib.abc, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 8missing module named _frozen_importlib_external - imported by importlib._bootstrap, importlib, importlib.abc, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 9missing module named _winreg - imported by platform, vlc, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 10missing module named _scproxy - imported by urllib.request 11missing module named java - imported by platform, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 12missing module named 'java.lang' - imported by platform, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py, xml.sax._exceptions 13missing module named vms_lib - imported by platform, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 14missing module named termios - imported by tty, vlc, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py, getpass 15missing module named grp - imported by shutil, tarfile, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 16missing module named _dummy_threading - imported by dummy_threading, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 17missing module named org - imported by copy, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py 18missing module named pwd - imported by posixpath, shutil, tarfile, http.server, webbrowser, C:\Users\ma8wi\Documents\Python Scripts\testAudio\testGui.py, netrc, getpass 19missing module named AppKit - imported by keyboard._darwinkeyboard, pyperclip 20missing module named Foundation - imported by pyperclip 21missing module named PyQt4 - imported by pyperclip 22missing module named qtpy - imported by pyperclip 23missing module named gtk - imported by pyperclip 24missing module named StringIO - imported by six 25missing module named Quartz - imported by keyboard._darwinkeyboard 26missing module named fcntl - imported by keyboard._nixcommon 27missing module named Queue - imported by keyboard, keyboard._nixcommon, keyboard._generic
###試したこと
exe化する際にうまくvlcが取り込めていないのか?と思い、vlcを使わないプログラムをexe化してみました。この場合にはうまく動いきました。
###補足情報(言語/FW/ツール等のバージョンなど)
環境は以下の通りです。
・Windows10
・Anaconda 3.3.30
・Python3.5.4
・PyInstaller3.3
初心者ながら、libvlc.dllがうまく見つけられていないのでは?と感じているのですが、対策が全くわかりません。
解決策に心当たりがある方いましたら、よろしくお願いします。
(質問自体初めてなので、情報が不足しているかもしれません、ご指摘いただければ追加します。)
回答2件
あなたの回答
tips
プレビュー