web-dev-qa-db-ja.com

pyinstallerの使用時にDLLファイルが見つからない

良い一日!

python 3.5.2、qt5、pyqt5、およびsip14.8を使用しています。最新のpyinstallerブランチ(3.3.dev0 + g501ad40)も使用しています。

基本的なhello worldプログラム用のexeファイルを作成しようとしています。

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_())

最初は、crt-msiに関するエラーが発生していました。そこで、SDKとc ++ランタイムを再インストールし、環境に追加しました。しかし、現在、dllが見つからないというエラーが発生し続けています(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:

確認したところ、両方のdllが存在し、PATHが設定されています。また、distフォルダに手動で追加しようとしましたが、役に立ちませんでした。

アドバイスをいただければ幸いです!

8
shultz

これは回避策のようなもので、Pyinstallerは修正が必要な場合があります。

Qt5Core.dllQt5Gui.dllなどを含むディレクトリを指す--paths引数が役立つことがわかりました

pyinstaller --paths C:\Python35\Lib\site-packages\PyQt5\Qt\bin hello.py
18
J.J. Hakala

これはPyInstallerの最新の開発ブランチで修正されました。 このGitHub上のPyInstallerの問題 を参照してください。

2
akej74

この問題については、githubおよびstackoverflowですべての複雑なソリューションを読みました。ただし、以下の簡単な解決策は私のために働いたものです:

ステップ1:pip3アンインストールpyinstaller

ステップ2:pip install pyinstaller

ステップ3:pyinstaller --onefile filename.py

同じ問題に直面している2台の異なるコンピューターでこのソリューションを試しました。両方とも機能しました。これも同様に機能するかどうかをお知らせください。その後、親指を上げていただければ幸いです。乾杯

1
Stan

通常、見つからないライブラリを含む--Path引数ポインティングディレクトリを追加すると、問題が解決します。 PyInstaller 3.3devを使用している場合、コマンド文字列の解析に問題がある可能性があります。これは通常、パスにスペースが含まれている場合に発生します。そのような場合、PyInstallerによって生成された.specファイルのpathex引数を変更し、PyInstallerで実行して実行可能ファイルをビルドできます。

pyinstaller file_name.spec

うまくいけば、これはすぐに修正されます.....

0
Yogesh

26095警告:libが見つかりません:c:\ users\user\appdata\local\programs\python\python36-32\DLLs\select.pydのapi-ms-win-crt-runtime-l1-1-0.dll依存関係

C:dllでドライブを検索し、pyinstallerコマンドでパスを設定します。以下のコマンドは、Windows 10の上記のpyinstallerエラーを修正しました。

pyinstaller --paths "C:\Windows\WinSxS\x86_Microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_50c6cb8431e7428f" hello.py
0
Ritesh Singh