J'essaie d'exécuter FAF (nativement) en conjonction avec FA (via wine)
(en raison des vues que ce message reçoit et de la quantité de méthodes mises à jour, j'ai décidé de mettre à jour cette question pour qu'elle réponde et que je demande. consultez l'historique des révisions de ce message pour le processus de recherche de l'ancienne méthode pour exécuter le client python et les anciens guides)
Client Java bêta:
utilisez ce script: (mis à jour le 12/03/2019)
https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Client Python: (MAINTENANT OBSOLETE)
Comment: compiler cette application python (FAF) à partir de la source:
opérationnel grâce au guide "Python 3 avec PyQt5" de @edwinksl. l'a marqué comme solution. bon travail!
Mise à jour (31/1/2018)
Désolé d'avoir mis si longtemps à mettre à jour ce message. il a obtenu 7000 vues! il mérite vraiment des informations à jour.
Depuis que j'ai demandé, il s'est passé beaucoup de choses. FAF a maintenant plus ou moins de support Linux. ils ont même un wiki pour l'installer (et par distribution!):
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
il n'est pas garanti de répondre à vos besoins, vous pouvez en trouver plus en fouillant: http://forums.faforever.com/viewtopic.php?f=2&t=4507
en ce moment le wiki n'est pas du tout à jour.
pendant un certain temps, je pouvais faire fonctionner faf avec python natif, aucun virtualenv nécessaire, mais les dépendances changeantes moyennes de QT et la composition du paquet ainsi que leur utilisation par FAF ont encore cassé cela ... temporairement j'espère!
soyez assuré que je l'ai fait fonctionner personnellement et je suis ici pour offrir du réconfort (essayez de sauter les étapes 6 et 7 d'abord, elles peuvent être inutiles):
- Installez quelques prérequis:
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
(ou selon la dernière version disponible sur https://github.com/FAForever/client/releases/ )- extraire (pour cet exemple, je vais extraire à la maison) (
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/
: passer au répertoire de travailsed -i 1,1d requirements.txt
: supprime cxFreeze des exigences (ce n'est pas obligatoire et cela tuera la compilation)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
: télécharge le binaire de connexion et:sudo chmod +x /usr/bin/faf-uid
permet son exécution par faf.touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION
: remplit la dernière exigence du faf: un fichier de version de sortie.
maintenant, il devrait fonctionner, mais pour le diable, faisons un coureur:
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
puis ./FAF.sh
pour exécuter FAF.
À votre santé!
t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
Réponses:
Remarque: les étapes pour Python 3 avec PyQt5 sont prouvées pour fonctionner tandis que les étapes pour Python 2 avec PyQt4 et PySide sont encore expérimentales.
Python 3 avec PyQt5 (qui a fait ses preuves)
Il semble que la
474-feature-py3
branche du référentiel FAForever / client GitHub utilise Python 3 avec PyQt5, qui contient QtWebKit. Par conséquent, l'utilisation de cette branche est la solution la plus simple. Notez que PyQt5 (mais pas PyQt4) peut en fait être installé avecpip
, ce qui rend les choses beaucoup plus pratiques.Étapes pour Python 3 avec PyQt5:
cd
dans un répertoire de votre choix, qui sera~/Desktop/temp
dans le but d'écrire cette réponse,git clone
le référentiel FAForever / client GitHub etgit checkout
la474-feature-py3
branche:Créez et activez un virtualenv pour Python 3 (la valeur par défaut est Python 3.5 pour Ubuntu 17.04) et forcez la mise
pip
à niveau juste pour vous assurer qu'il est à jour:Utilisez
pip
pour installerPyQt5
et à partir derequirements.txt
:Téléchargez le
faf-uid
binaire dansfaf-client/lib
et rendez-le exécutable:Exécutez
python
sursrc/__main__.py
:Python 2 avec PyQt4 et PySide (expérimental)
Il semble que j'aie peut-être compris comment importer le
QtWebKit
module, mais je n'ai pas le jeu FAF installé, donc je ne peux pas vérifier complètement que cela fonctionne et donc cette réponse est un travail en cours.En un mot, j'avais l'habitude
apt
d'installerpython-qt4
, qui n'a pas leQtWebKit
module. J'ai créé et activé un virtualenv sans utiliser l'--system-site-packages
option et utilisépip
pour installerPySide
, qui a leQtWebKit
module. J'ai ensuite créé un lien symbolique entre les bibliothèques système et les fichiers appropriés pour PyQt4 dans virtualenv. Ensuite, j'ai apporté quelques modificationsfaf-client/src
pour importer leQtWebKit
module à partir dePySide
. Cette solution est inspirée de /programming//a/28850104/486919 , /programming//a/36887302/486919 et /programming//a/37616466/486919 .Pas:
Installer
python-qt4
:cd
dans un répertoire de votre choix, qui sera~/Desktop/temp
dans le but d'écrire cette réponse,git clone
ma version du référentiel et degit checkout
lapatch
branche:Cette
patch
branche a plusieurs validations supplémentaires par rapport à ladevelop
branche par défaut : 1) elle supprime la spécification de version pourcx_Freeze
, ce qui me posait des problèmes d'installation si j'utilisais la4.3.4
version précédemment spécifiée, et 2) elle importeQtWebKit
à laPySide
place dePyQt4
.Créez et activez un virtualenv pour Python 2 et forcez la mise
pip
à niveau juste pour vous assurer qu'il est à jour:Utilisez
pip
pour installerPySide
et à partir derequirements.txt
:Téléchargez le
faf-uid
binaire dansfaf-client/lib
et rendez-le exécutable:cd
dans lesite-packages
répertoire à l'intérieur de virtualenv et créez des liens symboliques appropriés:Notez le
.
à la fin de chaque lien symbolique.cd
Retour àfaf-client
et exécuterpython
sursrc/__main__.py
:la source
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
dans lefaf-client
répertoire, puis faitesgit checkout patch
.pip install -r faf-client/requirements.txt
avoir ajouté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
puis faitcd ./faf-client && ../venv/bin/python src/__main__.py
selon le post du forum du didacticiel d'origine, j'ai construit mon script avec: forums.faforever.com/… FAF s'exécute mais toujours avec un journal des erreurs.Vérifier le
~/.bashrc
remplacement de version PythonLe package que vous souhaitez compiler nécessite Python version 2.7.x. Confirmez cela avec ces commandes:
C'était le problème dans cette Q&R .
Vous n'êtes pas seul avec la
linux error PyQt4 import QtWebKit
recherche google:Malheureusement, il y a beaucoup plus de résultats Google, mais ceux-ci, je pense, sont les plus pertinents à lire si la première recommandation ne fonctionne pas.
la source