#pyqt5
Вопрос:
Суть проблемы: используя pyinstaller
, я компилирую приложение для PyQt5
. Каталог PyQt5 с библиотеками создается в /myGui
каталоге dist, например QtGui.cpython-35m-x86_64-linux-gnu
.so. Но в операционной системе Linux есть эта библиотека /usr/lib/python3/dist-packages/PyQt5
. Как заставить двоичный файл использовать библиотеку из /usr/lib/python3/dist-packages/PyQt5
?
Я попытался указать sys.path.insert(0, '/usr/lib/python3/dist-packages')
и sys.path.insert(0, '/usr/lib/python3/dist-packages/PyQt5')
перед импортом «из PyQt5 импортировать QtCore, QtGui, QtWidgets», но это не дало результатов, приложение выдает ошибку.
Переведено на английский язык через Google, так что заранее извините.
Комментарии:
1. Вся концепция pyinstaller заключается в том, чтобы обеспечить полноценную рабочую среду даже в системах, где не установлены необходимые библиотеки. Почему вы хотите «навязать» жестко закодированный путь? Учтите, что, хотя этот путь кажется стандартным, нет никакой гарантии, что он будет таким же на других компьютерах. Например, на одной из моих машин это так
/usr/lib/python3.4/site-packages/PyQt5
.2. Программа будет использоваться только в той версии дистрибутива Linux, для которой она создана. Это очень просто, но занимает 26 МБ
3. Pyinstaller работает, используя свои собственные файлы, а не те, которые уже установлены на компьютере. В настоящее время файл размером 26 МБ не считается проблемой, если вы беспокоитесь об этом, просто используйте репозиторий и/или пакет со всеми необходимыми файлами для вашей программы.