Ich versuche, FAF (nativ) in Verbindung mit FA (durch Wein) zu betreiben.
(Aufgrund der Ansichten, die dieser Beitrag erhält, und der Anzahl der aktualisierten Methoden habe ich beschlossen, diese Frage zu aktualisieren, damit sie beantwortet und gefragt werden kann. Überprüfen Sie den Revisionsverlauf dieses Beitrags, um festzustellen, ob die alte Methode zum Ausführen der Methode gefunden wurde Python-Client und die alten Anleitungen)
Java-Client im Beta-Status:
Verwenden Sie dieses Skript: (aktualisiert am 12.03.2019)
https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Python-Client: (JETZT OBSOLETE)
Gewusst wie: Kompilieren Sie diese Python-App (FAF) aus dem Quellcode:
Dank @edwinksls "Python 3 with PyQt5" -Anleitung. markierte ihn als Lösung. Gut gemacht!
Update (31/1/2018)
Entschuldigung, ich habe so lange gebraucht, um diesen Beitrag zu aktualisieren. Es hat 7000 Aufrufe bekommen! Es verdient wirklich aktuelle Informationen.
Seit ich gefragt habe ist viel passiert. FAF hat jetzt mehr oder weniger Linux-Unterstützung. Sie haben sogar ein Wiki, um es zu installieren (und per Distribution!):
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
Es wird nicht garantiert, dass es Ihren Anforderungen entspricht. Weitere Informationen finden Sie unter: http://forums.faforever.com/viewtopic.php?f=2&t=4507
Im Moment ist das Wiki nicht so aktuell.
Für eine Weile konnte ich faf dazu bringen, mit nativem Python zu laufen, es wurde keine virtuelle Umgebung benötigt, aber die sich durchschnittlich ändernden Abhängigkeiten und die Paketzusammensetzung von QT sowie die FAF-Verwendung von ihnen haben das wieder gebrochen ... vorübergehend hoffe ich!
Seien Sie versichert, ich habe es persönlich zum Laufen gebracht und bin hier, um Trost zu spenden (überspringen Sie zuerst die Schritte 6 und 7, da sie möglicherweise nicht benötigt werden):
- Installieren Sie einige Voraussetzungen:
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
(oder welche Version auch immer aktuell ist unter https://github.com/FAForever/client/releases/ )- extrahieren (für dieses Beispiel extrahiere ich nach Hause) (
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/
: Wechseln Sie in das Arbeitsverzeichnissed -i 1,1d requirements.txt
: Entfernt cxFreeze aus den Anforderungen (es ist nicht erforderlich und beendet die Kompilierung)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
: lädt die Anmeldebinärdatei herunter und:sudo chmod +x /usr/bin/faf-uid
ermöglicht die Ausführung durch faf.touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION
: Erfüllt die letzte Anforderung von faf: eine Release-Versionsdatei.
jetzt sollte es laufen, aber zum Teufel machen wir einen Läufer:
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
dann ./FAF.sh
FAF ausführen.
Prost!
t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
Antworten:
Hinweis: Die Schritte für Python 3 mit PyQt5 funktionieren nachweislich, während die Schritte für Python 2 mit PyQt4 und PySide noch experimentell sind.
Python 3 mit PyQt5 (funktioniert nachweislich)
Es scheint, dass der
474-feature-py3
Zweig des FAForever / Client-GitHub-Repositorys Python 3 mit PyQt5 verwendet, das QtWebKit enthält. Daher ist die Verwendung dieses Zweigs die einfachste Lösung. Beachten Sie, dass PyQt5 (aber nicht PyQt4) tatsächlich mit installiert werden kannpip
, so dass die Dinge viel bequemer sind.Schritte für Python 3 mit PyQt5:
cd
in ein Verzeichnis Ihrer Wahl, das~/Desktop/temp
zum Schreiben dieser Antwort verwendet wird,git clone
das FAForever / Client-GitHub-Repository undgit checkout
den474-feature-py3
Zweig:Erstellen und aktivieren Sie eine virtuelle Umgebung für Python 3 (die Standardeinstellung ist Python 3.5 für Ubuntu 17.04) und erzwingen Sie ein Upgrade
pip
, um sicherzustellen, dass es auf dem neuesten Stand ist:Verwenden Sie
pip
zum InstallierenPyQt5
und vonrequirements.txt
:Laden Sie die
faf-uid
Binärdatei herunterfaf-client/lib
und machen Sie sie ausführbar:Laufen Sie
python
weitersrc/__main__.py
:Python 2 mit PyQt4 und PySide (experimentell)
Es sieht so aus, als hätte ich vielleicht herausgefunden, wie man das
QtWebKit
Modul importiert , aber ich habe das FAF-Spiel nicht installiert, daher kann ich nicht vollständig überprüfen, ob dies funktioniert, und daher ist diese Antwort in Arbeit.Auf den Punkt gebracht, habe ich
apt
zu installierenpython-qt4
, die nicht nicht das habenQtWebKit
Modul. Ich habe eine virtuelle Umgebung ohne Verwendung der--system-site-packages
Option erstellt und aktiviert undpip
zur Installation verwendetPySide
, die dasQtWebKit
Modul enthält. Ich habe dann die entsprechenden Systembibliotheken und Dateien für PyQt4 mit der virtuellen Umgebung verknüpft. Dann habe ich ein paar Änderungen vorgenommenfaf-client/src
, um dasQtWebKit
Modul von zu importierenPySide
. Diese Lösung wurde von /programming//a/28850104/486919 , /programming//a/36887302/486919 und /programming//a/37616466/486919 inspiriert .Schritte:
Installieren
python-qt4
:cd
in ein Verzeichnis Ihrer Wahl, das~/Desktop/temp
zum Schreiben dieser Antwort verwendet wird,git clone
meine Version des Repositorys undgit checkout
despatch
Zweigs:Dieser
patch
Zweig hat im Vergleich zum Standardzweig mehrere zusätzliche Commitsdevelop
: 1) Er entfernt die Versionsspezifikation fürcx_Freeze
, die mir Installationsprobleme bereitete, wenn ich die4.3.4
zuvor angegebene Version verwendet habe, und 2) ImportiertQtWebKit
vonPySide
stattPyQt4
.Erstellen und aktivieren Sie eine virtuelle Umgebung für Python 2 und erzwingen Sie ein Upgrade
pip
, um sicherzustellen, dass sie auf dem neuesten Stand ist:Verwenden Sie
pip
zum InstallierenPySide
und vonrequirements.txt
:Laden Sie die
faf-uid
Binärdatei herunterfaf-client/lib
und machen Sie sie ausführbar:cd
in dassite-packages
Verzeichnis innerhalb der virtuellen Umgebung und machen Sie entsprechende Symlinks:Beachten Sie das
.
am Ende jedes Symlinks.cd
zurück zufaf-client
und laufenpython
aufsrc/__main__.py
:quelle
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
in dasfaf-client
Verzeichnis gehen und dann tungit checkout patch
.pip install -r faf-client/requirements.txt
Hinzufügenwget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O ./faf-client/lib/faf-uid
undchmod +x ./faf-client/lib/faf-uid
danncd ./faf-client && ../venv/bin/python src/__main__.py
gemäß dem ursprünglichen Beitrag im Tutorial-Forum, mit dem ich mein Skript erstellt habe: forums.faforever.com/… FAF wird ausgeführt, aber immer noch mit einem Fehlerprotokoll.Überprüfen Sie, ob die
~/.bashrc
Python-Version überschrieben wurdeDas Paket, das Sie kompilieren möchten, erfordert Python Version 2.7.x. Bestätigen Sie dies mit folgenden Befehlen:
Das war das Problem in dieser Frage und Antwort .
Sie sind nicht allein mit der
linux error PyQt4 import QtWebKit
Google-Suche:Leider gibt es viel mehr Google-Ergebnisse, aber diese sind meiner Meinung nach am relevantesten für Sie, wenn die erste Empfehlung nicht herauskommt.
quelle