я пытаюсь скомпилировать это приложение на Python из исходников проект qtwebkit как зависимость, и это, кажется, быть причиной проблемы. Как я устанавливаю qtwebkit на Ubuntu 17.04 64-разрядной таким образом, который позволяет компилировать Пип 32-битного приложения вместо python2 (и в результате компиляции приложения), чтобы быть в состоянии найти его? При запуске, программа завершает работу и выводит лог в ~/FAForever/журналы/навсегда.журнала, который, кажется, ясно указывают на недостающий QtWebKit вопрос : [F1] в чате импорт файла "/home/t/faf-0.12.5/faf-client/src/chat/init.py", линия 33, В из импорт _chatwidget ChatWidget как лобби файла "/home/t/faf-0.12.5/faf-client/src/chat/_chatwidget.py", линия 15, в чате.канал канал импорта файла "/home/t/faf-0.12.5/faf-client/src/chat/channel.py", линия 2, из Англии.анализировать импорт анализировать файл "/home/t/faf-0.12.5/faf-client/src/fa/init.py", линия 18, из повтор импорта повтор файла "/home/t/faf-0.12.5/faf-client/src/fa/replay.py" 5-я линия, от фа.проверьте импортировать файл проверить "/home/t/faf-0.12.5/faf-client/src/fa/check.py", линия 12, В от фа.модов импортировать файл checkMods "/home/t/faf-0.12.5/faf-client/src/fa/mods.py", линия 3, в импорт modvault файл "/home/t/faf-0.12.5/faf-client/src/modvault/init.py", строка 51, от modvault.утилиты импорта * файл "/home/t/faf-0.12.5/faf-client/src/modvault/utils.py", линия 12, в хранилище импорт luaparser файл "/home/t/faf-0.12.5/faf-client/src/vault/init.py", линия 2, В из импорт составе pyqt4 QtWebKit ImportError: не удается импортировать имя QtWebKit 2017-06-08 21:41:12,190 инфо запросы.пакетов.urllib3.начиная connectionpool новый http-соединение (1): api.dev.faforever.com 2017-06-08 21:41:12,387 инфо запросы.пакетов.urllib3.connectionpool начиная новый https-соединение (1): api.dev.faforever.com так что, возможно, мне просто нужно запустить sudo apt install qtwebkit
я желаю! это оказалось не так просто. Я думал, что добавление этой программы будет непросто, но я вынужден признать, что я был самонадеянным. Его нет в репозитории, и нет deb для убунту : https://launchpad.net/ubuntu/zesty/источник/qtwebkit я нашел это: https://launchpad.net/ubuntu/zesty/источник/qtwebkit-источник, который казался многообещающим. Я запустил процедуру помощью pbuilder : sudo pbuilder --create
sudo echo COMPONENTS="main restricted universe multiverse" >> /etc/pbuilderrc
sudo pbuilder update --override-config
sudo pbuilder --build qtwebkit-source_2.3.2-0ubuntu13.dsc
, который создал четыре deb файлы: libqtwebkit4_2.3.2-0ubuntu13_amd64.деб libqtwebkit4-dbg_2.3.2-0ubuntu13_amd64.деб libqtwebkit-dev_2.3.2-0ubuntu13_amd64.деб libqtwebkit-qmlwebkitplugin_2.3.2-0ubuntu13_amd64.деб у них есть две проблемы: они начинают с вкладке-вкладке "либерал" и [от f13] возвращает все это: libqdjango-db0 libqt4-declarative-gestures libqt4-scripttools libqt5gui5
libqt5quicktest5 libqt5xmlpatterns5 это основные типы файловых Р1 libqt4-декларативные-частиц libqt4-SQL для libqt5multimedia5 libqt5sensors5 libqtassistantclient4 libqjson0 libqt4-конструктор libqt4-SQL и SQLite в libqt5multimedia5-плагины libqt5sql5 libqtcore4 libqmenumodel0 libqt4-dev и libqt4-SVG с libqt5multimediaquick-п5 libqt5sql5-SQLite в libqtdbus4 libqmi-glib5 libqt4-dev и-ОГРН libqt4-тест libqt5multimediawidgets5 libqt5svg5 libqtgui4 libqmi-прокси libqt4-помочь libqt4-XML и libqt5network5 libqt5systeminfo5 libqtwebkit4 libqofono-qt5-0 libqt4-сеть libqt4-xmlpatterns libqt5opengl5 libqt5test5 libqtwebkit4-дбг libqpdf17 libqt4-OpenGL для libqt5concurrent5 libqt5organizer5 libqt5versit5 libqtwebkit-дев libqqwing2v5 libqt4-в OpenGL-дэв libqt5contacts5 libqt5webkit5 libqt5positioning5 libqtwebkit-qmlwebkitplugin libqt4-дбг libqt4qevercloud3 libqt5core5a libqt5printsupport5 libqt5widgets5 libqtweetlib1.0 libqt4-dbus не libqt4-qt3support libqt5dbus5 libqt5qml5 libqt5x11extras5 libqtweetlib-дэв libqt4-декларативный libqt4-сценарий libqt5feedback5 libqt5quick5 libqt5xml5 libquadmath0 гденаходится не работает на любой из этих : $ whereis libqtwebkit4
libqtwebkit4:
я тоже пробовал : sudo apt install python-pyqt5.qtwebkit
тот же результат. Я подумал: "может быть, я не должен делать эту сторону системы, но боковой виртуальное окружение?". Так я пробовал добавлять его в requirements.txt файл: qtwebkit qtwebkit-кодом на языке Python-питон qtwebkit-pyqt5.qtwebkit libqtwebkit qtwebkit==4.0 pytest-qtwebkit, но Пип не мог найти его, когда попадая в ./faf-client-venv/bin/pip
install -r ./faf-client/requirements.txt. Это работало в прошлом, как мой YouTube учебнике показано, я скомпилировал его для Linux раньше и даже создали удобный скрипт, который упрощает сборники шагов, которые вы можете использовать, чтобы облегчить помочь мне, если вы решите (предупреждаю, этот скрипт был протестирован только под Ubuntu дистрибутивы и я немного новичок, так что это не может быть чистый код, корректировки приветствуются). Обновление (10/6/2017) : я попробовал другой подход для получения qtwebki; составление после этого руководство на github, но я столкнулся с другой проблемой : t@tsu:~/WebKitBuild/Release$ cmake -DPORT=Qt -DCMAKE_BUILD_TYPE=Release \ ../..
– The C compiler identification is GNU 6.3.0
– The CXX compiler identification is GNU 6.3.0
– Check for working C compiler: /usr/bin/cc
– Check for working C compiler: /usr/bin/cc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /usr/bin/c++
– Check for working CXX compiler: /usr/bin/c++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– Found BISON: /usr/bin/bison (found suitable version "3.0.4", minimum required is "2.1")
– Found Gperf: /usr/bin/gperf (Required is at least version "3.0.1")
– Found Perl: /usr/bin/perl (found suitable version "5.24.1", minimum required is "5.10.0")
– Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.13", minimum required is "2.7.0")
– Could NOT find Ruby (missing: RUBY_INCLUDE_DIR RUBY_LIBRARY RUBY_CONFIG_INCLUDE_DIR) (found suitable version "2.3.0", minimum
требуется "1.9") – Ищу включают в себя функции файла.ч – Ищу включают в себя функции файла.н - нашли с cmake предупреждение (дев) в источнике х/OptionsQt.с cmake:253 (get_target_property): CMP0045 политики не устанавливается: ошибка на несуществующие цели в get_target_property. Запуск "с cmake-помощь-политика CMP0045" подробности политики. Используйте команду cmake_policy, чтобы установить политику и подавить это предупреждение. get_target_property() вызывается с несуществующей цели "Qt5::сердечник". Стек вызовов (последнего): Источник х/WebKitCommon.с cmake:47 (включить) CMakeLists.ТХТ:135 (включить) это предупреждение для разработчиков проекта. Использовать -кто-дэв, чтобы подавить его. – Нашли PkgConfig: /usr/Бен/пкг-конфиг (нашел версию "0.29.1") – проверка модуля 'и sqlite3' – найдено sqlite3, с версии 3.16.2 – найден файл SQLite: в /usr/включать – Ищу pthread в.ч – Ищу pthread в.н - найден – Ищу pthread_create – Ищу pthread_create - не нашел – Ищу pthread_create в pthreads – Ищу pthread_create в pthreads - не нашел – Ищу pthread_create в pthread в – Ищу pthread_create в pthread в - нашли – нашли темы: правда – нашли в формате JPEG: каталог /usr/lib в/x86_64 с-линукс-дистрибутив GNU/libjpeg.так нашли с zlib: /уср/либ/x86_64 с-линукс-дистрибутив GNU/сайт libz.так (нашел версию "1.2.11") – нашли в формате PNG: файл /usr/lib в/x86_64 с-линукс-дистрибутив GNU/libpng.так (нашел версию "1.6.28") – проверка модуля 'сис-ок' – найдено сис-ок, версия 57.1 – проверка модуля реанимации-как i18n' – найдено сис-реализация i18n, версия 57.1 – найдено сис заголовочные файлы в /usr/включать – найдено сис библиотеки: каталог /usr/lib в/x86_64 с-линукс-дистрибутив GNU/libicuuc.так нашли библиотеке libxml2: в /usr/lib в/x86_64 с-линукс-дистрибутив GNU/библиотеке libxml2.так (нашел подходящий вариант "2.9.4", минимальным требованием является "2.8.0") – нашли для libxslt: в /usr/lib в/x86_64 с-линукс-дистрибутив GNU/для libxslt.так (нашел подходящий вариант "1.1.29", минимальным требованием является "1.1.7") – проверка модуля 'их' – нашли их, версия 2.11.94 – нашли их: в /usr/lib в/x86_64 с-линукс-дистрибутив GNU/libfontconfig.так что – не может найти файлы webp (отсутствует: WEBP_INCLUDE_DIRS WEBP_LIBRARIES ошибка) с cmake у источника/х/OptionsQt.с cmake:454 (find_package): не обеспечив "FindQt5.с cmake" в CMAKE_MODULE_PATH этого проекта обратилось с cmake, чтобы найти конфигурационный файл пакета, предоставляемого "Qt5", но с cmake, так и не нашел. Не удалось найти файл конфигурации пакета, предоставляемого "Qt5" (запрошенная версия 5.2.0) с любым из следующих имен: Qt5Config.тмаки qt5-конфигурации.с cmake Добавить префикс установка "Qt5" в CMAKE_PREFIX_PATH или набор "Qt5_DIR" в каталог, содержащий одну из указанных выше файлов. Если "Qt5" предусматривает отдельный пакет разработки или SDK, убедитесь, что он установлен. Стек вызовов (последнего): Источник х/WebKitCommon.с cmake:47 (включить) CMakeLists.в формате txt:135 (включить) – Настройка неполной, ошибки! См. также "/домашний/т/WebKitBuild/выпуска/CMakeFiles/CMakeOutput.лог". См. также "/домашний/т/WebKitBuild/выпуска/CMakeFiles/CMakeError.лог". Обновление (21/06/2017) : Спасибо @edwinksl я сделал некоторые успехи (после его руководства я внес некоторые изменения) : сразу после pip install -r faf-client/requirements.txt я добавил wget
https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O
./faf-client/lib/faf-uid и [f17 в] тогда cd ./faf-client && ../venv/bin/python src/__main__.py согласно исходному учебник сообщение на форуме, я создал скрипт : http://forums.faforever.com/viewtopic.php?f=2&t=4507&start=200#p139389 ФАФ работает, но все равно с ошибкой журнала. журнал намного короче, хотя, но до сих пор, кажется, указывает QtWebKit вопрос : 2017-06-21 16:37:55,894 INFO root FAF version: 0.13.0-rc-2-g09326cd Environment: production
2017-06-21 16:37:55,895 INFO util PERSONAL_DIR initial: /home/t/Documents
2017-06-21 16:37:55,896 INFO util PERSONAL_DIR final: /home/t/Documents
2017-06-21 16:37:56,099 INFO __main__ >>> --------------------------- Application Launch
2017-06-21 16:37:56,274 ERROR __main__ Uncaught exception
Traceback (most recent call last):
File "src/__main__.py", line 129, in
33, в составе pyqt4 импорт модулями qtcore, qtgui пакет, модуле qtnetwork, QtWebKit ImportError: не удается импортировать имя QtWebKit обновить N°2 продвигается вперед : с помощью новый репозиторий нажимаем https://github.com/FAForever/client/tree/474-feature-py3 после того, как клонировали этой ветке и переименовал его в "фаф-клиент" : sudo apt install python3-pyqt5
virtualenv venv
source venv/bin/activate
pip install -U --force-reinstall pip
wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O
./фаф-клиент/либ/фаф-юид обновление chmod +x ./faf-client/lib/faf-uid
cd faf-client/
pip install -r requirements.txt
cd ../
cd venv/lib/python2.7/site-packages
ln -s /usr/lib/python3.7/dist-packages/PyQt4/ .
ln -s /usr/lib/python3.7/dist-packages/sip.x86_64-linux-gnu.so .
ln -s /usr/lib/python3.7/dist-packages/PySide/ .
cd -
cd ./faf-client && ../venv/bin/python src/__main__.py
bash: venv/bin/python: No such file or directory
(venv) t@tsu:~/faf2/faf-client$ cd
(venv) t@tsu:~$ cd faf2/
(venv) t@tsu:~/faf2$ cd ./faf-client && ../venv/bin/python src/__main__.py
Traceback (most recent call last):
File "src/__main__.py", line 43, in
(22/6/2017)
и работает спасибо @edwinksl с "Питон 3 с PyQt5" руководство. пометить его как решение. хорошая работа![!обновление d79] [кадрах, снятых D80] (31/1/2018)[!кадрах, снятых D80]
извини, что так долго, чтобы обновлять этот пост. это стало 2500 Просмотров! он действительно заслуживает актуальная информация.
так как я задавал много произошло. Теперь ФАФ имеет более или менее поддерживают Linux. у них даже есть Вики по его установке (и в дистро!) :
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
это не гарантируется, чтобы соответствовать вашим потребностям, больше можно найти, копаясь в : https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
сейчас Вики не все в курсе.
какое-то время я мог сделать фаф бежать с родной питон, не виртуальное окружение нужно, но авер в QT изменение зависимостей и состав пакетов, а также использование фар пожалели, что снова ... временно надеюсь !
будьте уверены, я получил это работает лично и я здесь, чтобы предложить утешение (попробуйте пропустить шаги 6 & 7 первых они могут быть нужны ):
Установите некоторые предпосылки : [зг19] cd Downloads && wget https://github.com/FAForever/client/archive/0.16.1.tar.gz (или какой релиз последний на https://github.com/FAForever/client/releases/ ) экстракт (для этого примера я возьму домой) ([клавиши f21]) cd fafclient/ : перейти к работе каталог sed -i 1,1d requirements.txt : удаляет cxFreeze от требований (это не требуется, и он будет убивать компиляции) virtualenv -p python3 faf [f25 привод датчика] sudo wget https://github.com/FAForever/uid/releases/download/v4.0.5/faf-uid -O /usr/bin/faf-uid : загрузок входа бинарные и : sudo chmod +x /usr/bin/faf-uid позволяет ему быть выполнены фаф. touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION : окончательное требование выполняет фаф : а версии файла.теперь он должен работать, но так давайте сделаем бегунок :
touch FAF.sh
echo "#! /bin/bash" >> FAF.sh
echo "cd /home/t/faf-client" >> FAF.sh
echo "python3 src/__main__.py" >> FAF.sh
chmod +x FAF.sh
затем ./FAF.sh для запуска фар.
Ура!
Примечание: шаги для Python 3 с PyQt5, как доказано, работают, в то время как шаги для Python 2 с PyQt4 и PySide все еще являются экспериментальными.
Похоже, что ветвь 474-feature-py3 хранилища данных FAForever / client GitHub использует Python 3 с PyQt5, который содержит QtWebKit. Поэтому использование этой ветви является наиболее простым решением. Обратите внимание, что PyQt5 (но не PyQt4) на самом деле может быть установлен с pip, поэтому это становится более удобным.
Шаги для Python 3 с PyQt5:
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone репозиторий FAForever / client GitHub и git checkout ветвь 474-feature-py3:mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/FAForever/client.git faf-client
cd faf-client
git checkout 474-feature-py3
Создайте и активируйте virtualenv для Python 3 (по умолчанию используется Python 3.5 для Ubuntu 17.04) и принудительное обновление pip, чтобы убедиться, что оно обновлено: virtualenv venv -p python3 # replace python3 with python3.6 if you want to use Python 3.6 instead
source venv/bin/activate
pip install -U --force-reinstall pip
Используйте pip для установки PyQt5 и из requirements.txt: pip install PyQt5
pip install -r requirements.txt
Загрузите двоичный файл faf-uid в faf-client/lib и сделайте его исполняемым: wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
chmod +x lib/faf-uid
Запустите python на src/__main__.py: python src/__main__.py
Похоже, я, возможно, выяснил, как импортировать модуль QtWebKit, но у меня нет установленной игры FAF, поэтому я не могу полностью проверить, что это работает, и поэтому этот ответ является незавершенным.
В двух словах я использовал apt для установки python-qt4, у которого нет модуля QtWebKit. Я создал и активировал virtualenv без использования опции --system-site-packages и использовал pip для установки PySide, у которого есть модуль QtWebKit. Затем я символизировал соответствующие системные библиотеки и файлы для PyQt4 в virtualenv. Затем я сделал пару изменений в faf-client/src, чтобы импортировать модуль QtWebKit из PySide. Это решение основано на https://stackoverflow.com/a/28850104/486919, https://stackoverflow.com/a/36887302/486919 и https://stackoverflow.com/a/37616466/486919.[!d17 ]
Шаги:
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone хранилище FAForever / client GitHub и git checkout ветвь 474-feature-py3:mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/FAForever/client.git faf-client
cd faf-client
git checkout 474-feature-py3
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone FAForever / client Репозиторий GitHub и git checkout ветвь 474-feature-py3:
mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/edwinksl/client.git faf-client
cd faf-client
git checkout patch
В этой ветке patch есть несколько дополнительных коммитов по сравнению с ветвью по умолчанию develop: 1) она избавляется от спецификации версии для cx_Freeze , что давало мне проблемы с установкой, если я использовал ранее указанную версию 4.3.4, и 2) она импортирует QtWebKit из PySide вместо PyQt4. Создайте и активируйте virtualenv для Python 3 (по умолчанию это Python 3.5 для Ubuntu 17.04) и принудительное обновление pip, чтобы убедиться, что оно обновлено: virtualenv venv -p python3 # replace python3 with python3.6 if you want to use Python 3.6 instead
source venv/bin/activate
pip install -U --force-reinstall pip
Создайте и активируйте virtualenv для Python 3 (по умолчанию это Python 3.5 для Ubuntu 17.04) и force-upgrade pip, чтобы убедиться, что он обновлен:
pip install PySide
pip install -r requirements.txt
Используйте pip для установки PyQt5 и из requirements.txt: pip install PyQt5
pip install -r requirements.txt
Используйте pip для установки PyQt5 и из requirements.txt:
cd venv/lib/python2.7/site-packages
ln -s /usr/lib/python2.7/dist-packages/PyQt4/ .
ln -s /usr/lib/python2.7/dist-packages/sip.x86_64-linux-gnu.so .
Обратите внимание на . на конец каждой символической ссылки. Загрузите двоичный файл faf-uid в faf-client/lib и сделайте его исполняемым: wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
chmod +x lib/faf-uid
Примечание: шаги для Python 3 с PyQt5, как доказано, работают, в то время как шаги для Python 2 с PyQt4 и PySide все еще являются экспериментальными.
Похоже, что ветвь 474-feature-py3 хранилища данных FAForever / client GitHub использует Python 3 с PyQt5, который содержит QtWebKit. Поэтому использование этой ветви является наиболее простым решением. Обратите внимание, что PyQt5 (но не PyQt4) на самом деле может быть установлен с pip, поэтому это становится более удобным.
Шаги для Python 3 с PyQt5:
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone репозиторий FAForever / client GitHub и git checkout ветвь 474-feature-py3:mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/FAForever/client.git faf-client
cd faf-client
git checkout 474-feature-py3
Создайте и активируйте virtualenv для Python 3 (по умолчанию используется Python 3.5 для Ubuntu 17.04) и принудительное обновление pip, чтобы убедиться, что оно обновлено: virtualenv venv -p python3 # replace python3 with python3.6 if you want to use Python 3.6 instead
source venv/bin/activate
pip install -U --force-reinstall pip
Используйте pip для установки PyQt5 и из requirements.txt: pip install PyQt5
pip install -r requirements.txt
Загрузите двоичный файл faf-uid в faf-client/lib и сделайте его исполняемым: wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
chmod +x lib/faf-uid
Запустите python на src/__main__.py: python src/__main__.py
Похоже, я, возможно, выяснил, как импортировать модуль QtWebKit, но у меня нет установленной игры FAF, поэтому я не могу полностью проверить, что это работает, и поэтому этот ответ является незавершенным.
В двух словах я использовал apt для установки python-qt4, у которого нет модуля QtWebKit. Я создал и активировал virtualenv без использования опции --system-site-packages и использовал pip для установки PySide, у которого есть модуль QtWebKit. Затем я символизировал соответствующие системные библиотеки и файлы для PyQt4 в virtualenv. Затем я сделал пару изменений в faf-client/src, чтобы импортировать модуль QtWebKit из PySide. Это решение основано на https://stackoverflow.com/a/28850104/486919, https://stackoverflow.com/a/36887302/486919 и https://stackoverflow.com/a/37616466/486919.
Шаги:
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone хранилище FAForever / client GitHub и git checkout ветвь 474-feature-py3:mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/FAForever/client.git faf-client
cd faf-client
git checkout 474-feature-py3
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone FAForever / client Репозиторий GitHub и git checkout ветвь 474-feature-py3:
mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/edwinksl/client.git faf-client
cd faf-client
git checkout patch
В этой ветке patch есть несколько дополнительных коммитов по сравнению с ветвью по умолчанию develop: 1) она избавляется от спецификации версии для cx_Freeze , что давало мне проблемы с установкой, если я использовал ранее указанную версию 4.3.4, и 2) она импортирует QtWebKit из PySide вместо PyQt4. Создайте и активируйте virtualenv для Python 3 (по умолчанию это Python 3.5 для Ubuntu 17.04) и принудительное обновление pip, чтобы убедиться, что оно обновлено: virtualenv venv -p python3 # replace python3 with python3.6 if you want to use Python 3.6 instead
source venv/bin/activate
pip install -U --force-reinstall pip
Создайте и активируйте virtualenv для Python 3 (по умолчанию это Python 3.5 для Ubuntu 17.04) и force-upgrade pip, чтобы убедиться, что он обновлен:
pip install PySide
pip install -r requirements.txt
Используйте pip для установки PyQt5 и из requirements.txt: pip install PyQt5
pip install -r requirements.txt
Используйте pip для установки PyQt5 и из requirements.txt:
cd venv/lib/python2.7/site-packages
ln -s /usr/lib/python2.7/dist-packages/PyQt4/ .
ln -s /usr/lib/python2.7/dist-packages/sip.x86_64-linux-gnu.so .
Обратите внимание на . на конец каждой символической ссылки. Загрузите двоичный файл faf-uid в faf-client/lib и сделайте его исполняемым: wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
chmod +x lib/faf-uid
Примечание: шаги для Python 3 с PyQt5, как доказано, работают, в то время как шаги для Python 2 с PyQt4 и PySide все еще являются экспериментальными.
Похоже, что ветвь 474-feature-py3 хранилища данных FAForever / client GitHub использует Python 3 с PyQt5, который содержит QtWebKit. Поэтому использование этой ветви является наиболее простым решением. Обратите внимание, что PyQt5 (но не PyQt4) на самом деле может быть установлен с pip, поэтому это становится более удобным.
Шаги для Python 3 с PyQt5:
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone репозиторий FAForever / client GitHub и git checkout ветвь 474-feature-py3:mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/FAForever/client.git faf-client
cd faf-client
git checkout 474-feature-py3
Создайте и активируйте virtualenv для Python 3 (по умолчанию используется Python 3.5 для Ubuntu 17.04) и принудительное обновление pip, чтобы убедиться, что оно обновлено: virtualenv venv -p python3 # replace python3 with python3.6 if you want to use Python 3.6 instead
source venv/bin/activate
pip install -U --force-reinstall pip
Используйте pip для установки PyQt5 и из requirements.txt: pip install PyQt5
pip install -r requirements.txt
Загрузите двоичный файл faf-uid в faf-client/lib и сделайте его исполняемым: wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
chmod +x lib/faf-uid
Запустите python на src/__main__.py: python src/__main__.py
Похоже, я, возможно, выяснил, как импортировать модуль QtWebKit, но у меня нет установленной игры FAF, поэтому я не могу полностью проверить, что это работает, и поэтому этот ответ является незавершенным.
В двух словах я использовал apt для установки python-qt4, у которого нет модуля QtWebKit. Я создал и активировал virtualenv без использования опции --system-site-packages и использовал pip для установки PySide, у которого есть модуль QtWebKit. Затем я символизировал соответствующие системные библиотеки и файлы для PyQt4 в virtualenv. Затем я сделал пару изменений в faf-client/src, чтобы импортировать модуль QtWebKit из PySide. Это решение основано на https://stackoverflow.com/a/28850104/486919, https://stackoverflow.com/a/36887302/486919 и https://stackoverflow.com/a/37616466/486919.
Шаги:
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone хранилище FAForever / client GitHub и git checkout ветвь 474-feature-py3:mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/FAForever/client.git faf-client
cd faf-client
git checkout 474-feature-py3
cd в каталог по вашему выбору, который будет ~/Desktop/temp для написания этого ответа, git clone FAForever / client Репозиторий GitHub и git checkout ветвь 474-feature-py3:
mkdir ~/Desktop/temp
cd ~/Desktop/temp
git clone https://github.com/edwinksl/client.git faf-client
cd faf-client
git checkout patch
В этой ветке patch есть несколько дополнительных коммитов по сравнению с ветвью по умолчанию develop: 1) она избавляется от спецификации версии для cx_Freeze , что давало мне проблемы с установкой, если я использовал ранее указанную версию 4.3.4, и 2) она импортирует QtWebKit из PySide вместо PyQt4. Создайте и активируйте virtualenv для Python 3 (по умолчанию это Python 3.5 для Ubuntu 17.04) и принудительное обновление pip, чтобы убедиться, что оно обновлено: virtualenv venv -p python3 # replace python3 with python3.6 if you want to use Python 3.6 instead
source venv/bin/activate
pip install -U --force-reinstall pip
Создайте и активируйте virtualenv для Python 3 (по умолчанию это Python 3.5 для Ubuntu 17.04) и force-upgrade pip, чтобы убедиться, что он обновлен:
pip install PySide
pip install -r requirements.txt
Используйте pip для установки PyQt5 и из requirements.txt: pip install PyQt5
pip install -r requirements.txt
Используйте pip для установки PyQt5 и из requirements.txt:
cd venv/lib/python2.7/site-packages
ln -s /usr/lib/python2.7/dist-packages/PyQt4/ .
ln -s /usr/lib/python2.7/dist-packages/sip.x86_64-linux-gnu.so .
Обратите внимание на . на конец каждой символической ссылки. Загрузите двоичный файл faf-uid в faf-client/lib и сделайте его исполняемым: wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
chmod +x lib/faf-uid
Пакет, который вы хотите скомпилировать, требует Python версии 2.7.x. Подтвердите, что с помощью этих команд:
$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
>>> print PyQt4.__path__
['/usr/lib/python2.7/dist-packages/PyQt4']
>>>
Это была проблема в этом Q & amp; A.
К сожалению, есть еще много результатов Google, но я считаю, что это самое подходящее для вас, если первая рекомендация не исчерпывается.
Пакет, который вы хотите скомпилировать, требует Python версии 2.7.x. Подтвердите, что с помощью этих команд:
$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
>>> print PyQt4.__path__
['/usr/lib/python2.7/dist-packages/PyQt4']
>>>
Это была проблема в этом Q & amp; A.
К сожалению, есть еще много результатов Google, но я считаю, что это самое подходящее для вас, если первая рекомендация не исчерпывается.
Пакет, который вы хотите скомпилировать, требует Python версии 2.7.x. Подтвердите, что с помощью этих команд:
$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
>>> print PyQt4.__path__
['/usr/lib/python2.7/dist-packages/PyQt4']
>>>
Это была проблема в этом Q & amp; A.
К сожалению, есть еще много результатов Google, но я считаю, что это самое подходящее для вас, если первая рекомендация не исчерпывается.