Я пытаюсь запустить FAF (изначально) в сочетании с FA (через вино)
(Из-за мнений, которые получает этот пост, и того, насколько обновлены методы, я решил обновить этот вопрос, чтобы он отвечал и спрашивал. Проверьте историю изменений этого поста, чтобы узнать, как найти старый метод для запуска клиент Python и старые руководства)
Java-клиент в бета-состоянии:
используйте этот скрипт: (обновлено 12.03.2009)
https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Python клиент: (СЕЙЧАС ОБОРОТЫ)
Как: скомпилировать это приложение на Python (FAF) из исходного кода:
и работает благодаря руководству @edwinksl "Python 3 с PyQt5". пометил его как решение. Молодец!
Обновление (31/1/2018)
Извините, что так долго обновлял этот пост. он получил 7000 просмотров! это действительно заслуживает актуальной информации.
С тех пор как я спросил, многое произошло. FAF теперь имеет более или менее поддержку Linux. у них даже есть вики для его установки (и для дистрибутива!):
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
он не гарантированно соответствует вашим потребностям, более подробную информацию можно найти, перейдя по ссылке: http://forums.faforever.com/viewtopic.php?f=2&t=4507.
сейчас вики не так уж и актуальны.
какое-то время я мог заставить faf работать с нативным python, не требуя virtualenv, но постоянно меняющиеся зависимости QT и состав пакета, а также их использование FAF сломали это снова ... временно я надеюсь!
будьте уверены, у меня это работает лично, и я здесь, чтобы предложить утешение (попробуйте сначала пропустить шаги 6 и 7, они могут быть ненужными):
- Установите некоторые предварительные условия:
sudo apt update && sudo apt install wget PyQt5.QtMultimedia python3-idna python3-semantic-version python3-pyqt5 python3-pyqt5.qtwebengine
cd Downloads && wget https://github.com/FAForever/client/archive/0.16.1.tar.gz
(или какой выпуск будет последним на https://github.com/FAForever/client/releases/ )- извлекать (для этого примера я извлеку на дом) (
cd Downloads/ && mv client-0.16.1.tar.gz ~/ && cd && tar -zxf client-0.16.1.tar.gz && mv client-0.16.1 faf-client && rm client-0.16.1.tar.gz
) cd fafclient/
: перейти в рабочий каталогsed -i 1,1d requirements.txt
: удаляет cxFreeze из требований (это не обязательно и убивает компиляцию)virtualenv -p python3 faf
pip install -r requirements.txt
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
позволяет выполнять его через faf.touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION
: выполняет последнее требование faf: файл версии выпуска.
теперь он должен работать, но, черт возьми, давайте сделаем раннер:
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
запустить FAF.
Ура!
t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
Ответы:
Примечание: шаги для Python 3 с PyQt5 доказали свою эффективность, в то время как шаги для Python 2 с PyQt4 и PySide все еще являются экспериментальными.
Python 3 с PyQt5 (доказано, что работает)
Похоже, что
474-feature-py3
ветвь репозитория GitHub FAForever / client использует Python 3 с PyQt5, который содержит QtWebKit. Следовательно, использование этой ветки является наиболее простым решением. Обратите внимание, что PyQt5 (но не PyQt4) на самом деле может быть установлен сpip
, так что это делает вещи более удобными.Шаги для Python 3 с PyQt5:
cd
в директорию по вашему выбору, который будет~/Desktop/temp
с целью написания этого ответа,git clone
в FAForever / клиент GitHub хранилища иgit checkout
в474-feature-py3
отрасли:Создайте и активируйте virtualenv для Python 3 (по умолчанию это Python 3.5 для Ubuntu 17.04) и принудительно обновите,
pip
чтобы убедиться, что он актуален:Используйте
pip
для установкиPyQt5
и отrequirements.txt
:Загрузите
faf-uid
бинарный файлfaf-client/lib
и сделайте его исполняемым:Запустить
python
наsrc/__main__.py
:Python 2 с PyQt4 и PySide (экспериментальный)
Похоже, что я, возможно, понял, как импортировать
QtWebKit
модуль, но у меня не установлена игра FAF, поэтому я не могу полностью убедиться, что это работает, и поэтому этот ответ находится в стадии разработки.В двух словах я использовал
apt
для установкиpython-qt4
, который не имеетQtWebKit
модуля. Я создал и активировал virtualenv, не используя эту--system-site-packages
опцию, и использовал ееpip
для установкиPySide
, в которой естьQtWebKit
модуль. Затем я вставил ссылки на соответствующие системные библиотеки и файлы для PyQt4 в virtualenv. Затем я внес пару изменений,faf-client/src
чтобы импортироватьQtWebKit
модуль изPySide
. Это решение основано на /programming//a/28850104/486919 , /programming//a/36887302/486919 и /programming//a/37616466/486919 .шаги:
Установить
python-qt4
:cd
в директорию по вашему выбору, который будет~/Desktop/temp
с целью написания этого ответа,git clone
мой вариант хранилища иgit checkout
вpatch
отрасли:Эта
patch
ветвь имеет несколько дополнительных фиксаций по сравнению с по умолчаниюdevelop
ветви: 1) он избавляется от спецификации версии дляcx_Freeze
, который дает мне проблемы с установкой , если я использовал4.3.4
версию ранее указанную, и 2) он импортируетQtWebKit
изPySide
вместоPyQt4
.Создайте и активируйте virtualenv для Python 2 и принудительно обновите его,
pip
чтобы убедиться, что он актуален:Используйте
pip
для установкиPySide
и отrequirements.txt
:Загрузите
faf-uid
бинарный файлfaf-client/lib
и сделайте его исполняемым:cd
вsite-packages
каталог внутри virtualenv и создайте соответствующие символические ссылки:Обратите внимание
.
на в конце каждой символической ссылки.cd
вернутьсяfaf-client
и запуститьpython
наsrc/__main__.py
:источник
Resolving deltas: 100% (8873/8873), done. t@tsu:~/Desktop/temp$ git checkout patch fatal: Not a git repository (or any of the parent directories): .git t@tsu:~/Desktop/temp$ git init Initialized empty Git repository in /home/t/Desktop/temp/.git/ t@tsu:~/Desktop/temp$ git checkout patch error: pathspec 'patch' did not match any file(s) known to git.
cd
войти вfaf-client
каталог, а затем сделатьgit checkout patch
.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
аchmod +x ./faf-client/lib/faf-uid
затем сделал,cd ./faf-client && ../venv/bin/python src/__main__.py
как в оригинальном посте с обучающим форумом, на котором я создал свой скрипт: forums.faforever.com/… FAF все еще запускает bbut с журналом ошибокПроверьте
~/.bashrc
наличие версии PythonПакет, который вы хотите скомпилировать, требует Python версии 2.7.x. Подтвердите это с помощью этих команд:
Это была проблема в этом Q & A .
Вы не одиноки с
linux error PyQt4 import QtWebKit
поиском Google:К сожалению, есть много других результатов Google, но я думаю, что это наиболее уместно для вас, если первая рекомендация не удалась.
источник