Estoy tratando de ejecutar FAF (nativamente) junto con FA (a través del vino)
(debido a las vistas que recibe esta publicación y a cuánto se han actualizado los métodos, he decidido actualizar esta pregunta para que responda y pregunte. Consulte el historial de revisiones de esta publicación para ver el proceso para encontrar el método anterior para ejecutar el método cliente de Python y las guías antiguas)
Cliente Java de estado beta:
use este script: (actualizado 3/12/2019)
https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Cliente de Python: (AHORA OBSOLETO)
Cómo: compilar esta aplicación python (FAF) desde la fuente:
en funcionamiento gracias a la guía "Python 3 con PyQt5" de @edwinksl. lo marcó como solución. ¡buen trabajo!
Actualización (31/1/2018)
Lo siento, me tomó tanto tiempo actualizar esta publicación. ¡Tiene 7000 visitas! Realmente merece información actualizada.
Desde que pregunté han pasado muchas cosas. FAF ahora tiene más o menos soporte para Linux. incluso tienen un wiki para instalarlo (¡y por distribución!):
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
no se garantiza que se ajuste a sus necesidades, puede encontrar más buscando en: http://forums.faforever.com/viewtopic.php?f=2&t=4507
En este momento, el wiki no está tan actualizado.
por un tiempo pude hacer que faf se ejecute con python nativo, no se necesita virtualenv, pero las dependencias cambiantes de QT y la composición del paquete, así como el uso de FAF de ellos lo ha roto nuevamente ... ¡espero temporalmente!
tenga la seguridad de que lo tengo funcionando personalmente y estoy aquí para ofrecer consuelo (intente omitir los pasos 6 y 7 primero, pueden ser innecesarios):
- Instale algunos requisitos previos:
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
(o la versión más reciente en https://github.com/FAForever/client/releases/ )- extraer (para este ejemplo extraeré a casa) (
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/
: mover al directorio de trabajosed -i 1,1d requirements.txt
: elimina cxFreeze de los requisitos (no es obligatorio y matará la compilación)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
: descarga el binario de inicio de sesión y:sudo chmod +x /usr/bin/faf-uid
permite que faf lo ejecute.touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION
: cumple con el requisito final de faf: un archivo de versión de lanzamiento.
ahora debería ejecutarse, pero para el placer de hacerlo, hagamos un corredor:
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
luego ./FAF.sh
para ejecutar FAF.
¡Salud!
t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
Respuestas:
Nota: se ha comprobado que los pasos para Python 3 con PyQt5 funcionan mientras que los pasos para Python 2 con PyQt4 y PySide siguen siendo experimentales.
Python 3 con PyQt5 (demostrado que funciona)
Parece que la
474-feature-py3
rama del repositorio FAForever / client GitHub usa Python 3 con PyQt5, que contiene QtWebKit. Por lo tanto, usar esta rama es la solución más sencilla. Tenga en cuenta que PyQt5 (pero no PyQt4) de hecho se puede instalarpip
, por lo que hace las cosas mucho más convenientes.Pasos para Python 3 con PyQt5:
cd
en un directorio de su elección, que será~/Desktop/temp
con el propósito de escribir esta respuesta,git clone
el repositorio FAForever / client GitHub ygit checkout
la474-feature-py3
rama:Cree y active un virtualenv para Python 3 (el predeterminado es Python 3.5 para Ubuntu 17.04) y fuerce la actualización
pip
solo para asegurarse de que esté actualizado:Use
pip
para instalarPyQt5
y desderequirements.txt
:Descargue el
faf-uid
binariofaf-client/lib
y hágalo ejecutable:Ejecutar
python
ensrc/__main__.py
:Python 2 con PyQt4 y PySide (experimental)
Parece que he descubierto cómo importar el
QtWebKit
módulo, pero no tengo el juego FAF instalado, por lo que no puedo verificar completamente que esto funcione y, por lo tanto, esta respuesta es un trabajo en progreso.En pocas palabras, solía
apt
instalarpython-qt4
, que no tiene elQtWebKit
módulo. Creé y activé un virtualenv sin usar la--system-site-packages
opción y lopip
instaléPySide
, que tiene elQtWebKit
módulo. Luego vinculé las bibliotecas y los archivos del sistema apropiados para PyQt4 en virtualenv. Luego hice un par de cambiosfaf-client/src
para importar elQtWebKit
móduloPySide
. Esta solución está inspirada en /programming//a/28850104/486919 , /programming//a/36887302/486919 y /programming//a/37616466/486919 .Pasos:
Instalar
python-qt4
:cd
en un directorio de su elección, que será~/Desktop/temp
con el propósito de escribir esta respuesta,git clone
mi versión del repositorio ygit checkout
lapatch
rama:Esta
patch
rama tiene varias confirmaciones adicionales en comparación con ladevelop
rama predeterminada : 1) elimina la especificación de la versióncx_Freeze
, lo que me daba problemas de instalación si usaba la4.3.4
versión especificada anteriormente, y 2) importaQtWebKit
desde enPySide
lugar dePyQt4
.Cree y active un virtualenv para Python 2 y fuerce la actualización
pip
solo para asegurarse de que esté actualizado:Use
pip
para instalarPySide
y desderequirements.txt
:Descargue el
faf-uid
binariofaf-client/lib
y hágalo ejecutable:cd
alsite-packages
directorio dentro de virtualenv y crea enlaces simbólicos apropiados:Tenga
.
en cuenta el al final de cada enlace simbólico.cd
volver afaf-client
correrpython
ensrc/__main__.py
:fuente
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
ingresar alfaf-client
directorio y luego hacerlogit checkout patch
.pip install -r faf-client/requirements.txt
que agreguéwget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O ./faf-client/lib/faf-uid
ychmod +x ./faf-client/lib/faf-uid
luego hicecd ./faf-client && ../venv/bin/python src/__main__.py
según la publicación original del foro del tutorial con el que construí mi script con: forums.faforever.com/… FAF se ejecuta bbut todavía con un registro de errores.Verifique la
~/.bashrc
anulación de la versión de PythonEl paquete que desea compilar requiere Python versión 2.7.x. Confirme eso con estos comandos:
Ese fue el problema en estas preguntas y respuestas .
No estás solo con la
linux error PyQt4 import QtWebKit
búsqueda de google:Desafortunadamente, hay muchos más resultados de Google, pero creo que estos son los más pertinentes para que los leas si la primera recomendación no funciona.
fuente