Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing dll files when using pyinstaller

Good day!

I'm using python 3.5.2 with qt5, pyqt5 and sip14.8. I'm also using the latest pyinstaller bracnch (3.3.dev0+g501ad40).

I'm trying to create an exe file for a basic hello world program.

from PyQt5 import QtWidgets
import sys

class newPingDialog(QtWidgets.QMainWindow):

def __init__(self):
    super(newPingDialog, self).__init__()
    self.setGeometry(50, 50, 500, 300)
    self.setWindowTitle("hello!")
    self.show()


app = QtWidgets.QApplication(sys.argv)
GUI = newPingDialog()
sys.exit(app.exec_())

At first, I used to get some errors regarding crt-msi. So I've reinstalled SDK and c++ runtime and added them to my environment. But now I keep getting errors about missing dlls (qsvg, Qt5PrintSupport)

6296 WARNING: lib not found: Qt5Svg.dll dependency of C:\users\me\appdata\local\programs\python\python35\lib\site-pac
kages\PyQt5\Qt\plugins\imageformats\qsvg.dll
6584 WARNING: lib not found: Qt5Svg.dll dependency of C:\users\me\appdata\local\programs\python\python35\lib\site-pac
kages\PyQt5\Qt\plugins\iconengines\qsvgicon.dll
6992 WARNING: lib not found: Qt5PrintSupport.dll dependency of C:\users\me\appdata\local\programs\python\python35\lib
\site-packages\PyQt5\Qt\plugins\printsupport\windowsprintersupport.dll
7535 WARNING: lib not found: Qt5PrintSupport.dll dependency of c:\users\me\appdata\local\programs\python\python35\lib
\site-packages\PyQt5\QtPrintSupport.pyd
8245 INFO: Looking for eggs
8245 INFO: Using Python library c:\users\me\appdata\local\programs\python\python35\python35.dll
8246 INFO: Found binding redirects:

I've checked and both dlls exist and have their PATH set. I also tried to manually add them to my dist folder, but it didn't helped.

I'll highly appreciate any advice you might have!

like image 680
shultz Avatar asked Jul 30 '16 13:07

shultz


2 Answers

This may be more like a workaround and Pyinstaller might need fixing.

I found out that --paths argument pointing to the directory containing Qt5Core.dll, Qt5Gui.dll, etc. helped

pyinstaller --paths C:\Python35\Lib\site-packages\PyQt5\Qt\bin hello.py
like image 180
J.J. Hakala Avatar answered Sep 21 '22 17:09

J.J. Hakala


I read all complicated solutions on github and stackoverflow for this problem. However, the below simple solution is what worked for me:

Step 1: pip3 uninstall pyinstaller

Step 2: pip install pyinstaller

Step 3: pyinstaller --onefile filename.py

I tried this solution on 2 different computers which were facing the same problem. Both worked. Please let me know if this works for you as well. Thumbs up would be appreciated after that. Cheers

like image 27
Stan Avatar answered Sep 17 '22 17:09

Stan