Я использую пользовательские виджеты для Qt Designer, написанные на python 3 через PyQt5, и мне пришлось использовать файл ресурсов, для которого требовался более новый API sip, но для этого мне пришлось обновить свой python.
Я на Ubuntu 16.04 LTS, поэтому я только что скачал python с python.org, и все, все прошло без проблем, мне удается без проблем установить python 3.7, если я использую команду «python3» в bash the python 3.7 Окружающая среда работает нормально.
Но когда я запускаю Qt Designer, я получаю следующую ошибку:
Traceback (most recent call last):
File "/home/ron/Qt/5.11.0/gcc_64/plugins/designer/python/QRoundProgressBarplugin.py", line 3, in <module>
from PyQt5.QtGui import QIcon
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtGui.so: undefined symbol: PySlice_AdjustIndices
Traceback (most recent call last):
File "/home/ron/Qt/5.11.0/gcc_64/plugins/designer/python/analogclockplugin.py", line 26, in <module>
from PyQt5.QtGui import QIcon, QPixmap
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtGui.so: undefined symbol: PySlice_AdjustIndices
Traceback (most recent call last):
File "/home/ron/Qt/5.11.0/gcc_64/plugins/designer/python/counterplugin.py", line 3, in <module>
from PyQt5.QtGui import QIcon
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtGui.so: undefined symbol: PySlice_AdjustIndices
Traceback (most recent call last):
File "/home/ron/Qt/5.11.0/gcc_64/plugins/designer/python/ledplugin.py", line 3, in <module>
from PyQt5.QtGui import QIcon
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtGui.so: undefined symbol: PySlice_AdjustIndices
Traceback (most recent call last):
File "/home/ron/Qt/5.11.0/gcc_64/plugins/designer/python/manometerplugin.py", line 3, in <module>
from PyQt5.QtGui import QIcon
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtGui.so: undefined symbol: PySlice_AdjustIndices
Traceback (most recent call last):
File "/home/ron/Qt/5.11.0/gcc_64/plugins/designer/python/switchplugin.py", line 3, in <module>
from PyQt5.QtGui import QIcon
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtGui.so: undefined symbol: PySlice_AdjustIndices
Traceback (most recent call last):
File "/home/ron/Qt/5.11.0/gcc_64/plugins/designer/python/thermometerplugin.py", line 3, in <module>
from PyQt5.QtGui import QIcon
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtGui.so: undefined symbol: PySlice_AdjustIndices
Конечно, как вы можете видеть, Qt Designer использует lib из python 3.5, поэтому не может найти символ PySlice_AdjustIndices, который присутствует в новейшем PyQt5 (5.11), но в / usr / local / lib у меня есть оба python3 Папки .5 и python3.7, каждая с версией PyQt5, но я действительно не знаю, как Qt Designer указывает на эту папку вместо папки python3.7, есть идеи, как?
И, просто чтобы сообщить об этом, очевидно, что проблема возникает, когда Qt Designer загружает пользовательские виджеты python, я не помню, где я взял мой libpyqt5.so (виджет C ++, который говорит разработчику, как читать виджеты python) , но я не могу найти его в моей последней установке PyQt5, возможно, этот плагин указывает на папку.
Любой намек или помощь?
Попробуйте вставить это в верхней части файла:
import os,sys
sys.path.insert(1,'/usr/local/lib/python3.7/dist-packages')
в верхней части вашего файла Python; может быть обходной путь?
Других решений пока нет …