Я пытаюсь переместить свою работу с PySide
на PyQt5
.Как построить PyQt5 на Ubuntu
Мой проект работает с Python3.4.1
, но по умолчанию python3 Ubuntu является Python3.4.0
, поэтому мне нужно скомпилировать PyQt5
.
Python3.4.1
путь «s является /opt/python3.4.1/bin/python3.4
и он хорошо работает
моя система ubuntu14.04
Во-первых, я загрузить исходный код с официального сайта, PyQt-gpl-5.3.1.tar.gz
и sip-4.16.2.tar.gz
. Sip был успешно установлен, когда произошла ошибка с получением pyqt
.
моя команда:
$/opt/python3.4.1/bin/python3.4 configure.py
$make
и Эрро является
g++ -m64 -Wl,-O1 -shared -o libpyqt5qmlplugin.so pluginloader.o moc_pluginloader.o -L/usr/X11R6/lib64 -L/opt/python3.4.1/lib -lpython3.4m -lQt5Qml -L/usr/lib/x86_64-linux-gnu -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread
/usr/bin/ld: /opt/python3.4.1/lib/libpython3.4m.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
/opt/python3.4.1/lib/libpython3.4m.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make 1 : *** [libpyqt5qmlplugin.so] Error 1
ошибка не поднять, когда я использую по умолчанию $python3 configure.py
и выглядит очень похоже на ошибку, когда я строю PySide (его фиксируется this). Но я слабо разбираюсь в компиляции, поэтому я не могу исправить pyqt, как в pyside.
Я также пробовал pip install PyQt5
в моем virtualenv
, к сожалению, получил тот же отказ, что и this.
Даже успешная сборка (выглядит) с использованием python по умолчанию, при запуске отображаются две ошибки.
Путь установки по умолчанию - это «сайты-пакеты», который вместо «dist-packages» на ubuntu. Так что я должен сам изменить свой ПИТОНПАТ.
, который является наиболее досадная проблема, когда я импортировать его:
from PyQt5 import QtCore, QtGui
возникает ошибка:
Traceback (most recent call last): File "", line 1, in from PyQt5 import QtCore, QtGui RuntimeError: the sip module implements API v11.0 but the PyQt5.QtCore module requires API v11.1
Все источником является последней выпущенной на официальном сайте! Это шутка?
Наконец, я использую apt-get install python3-pyqt5
установить PyQt моему по умолчанию python3.4.0. Теперь он работает хорошо, и я до сих пор не могу найти способ создания PyQt для python3.4.1.
вопросы, возможно, привлекли больший интерес askubuntu, сестра сайт SO, видя, что нет никаких ответов от других здесь. Но поскольку вы уже предоставили и ответили, что, похоже, работает, не забудьте принять его. – Trilarion
@Trilarion Спасибо, я поеду и займусь вопросом. – PaleNeutron