shultz shultz - 1 month ago 23
Python Question

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!

Answer

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