Estoy intentando ejecutar FAF (de forma nativa) junto con FA (a través de Wine)
(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 revisión de esta publicación para conocer el proceso para encontrar el método anterior para ejecutar el cliente Python y las guías antiguas)
Cliente Java en estado Beta:
usa este script:(actualizado el 12/03/2019)
https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Cliente Python: (AHORA OBSOLETO)
Cómo: compilaresta aplicación de Python(FAF) de 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)
Perdón por haber tardado tanto en actualizar esta publicación. ¡Ha obtenido 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 una 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 información investigando:http://forums.faforever.com/viewtopic.php?f=2&t=4507
En este momento, la wiki no está tan actualizada.
por un tiempo pude hacer que faf se ejecutara con Python nativo, no se necesita virtualenv, pero las dependencias y la composición de paquetes cambiantes de QT, así como el uso de FAF de ellos, lo han roto nuevamente... ¡temporalmente, espero!
Tenga la seguridad de que lo tengo funcionando personalmente y estoy aquí para ofrecerle 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 enhttps://github.com/FAForever/client/releases/)- extraer (para este ejemplo extraeré a inicio) (
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/
: ir al directorio de trabajosed -i 1,1d requirements.txt
: elimina cxFreeze de los requisitos (no es necesario y finalizará 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 por el gusto 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
ejecutar FAF.
¡Salud!
Respuesta1
Nota: Se ha demostrado que los pasos para Python 3 con PyQt5 funcionan, mientras que los pasos para Python 2 con PyQt4 y PySide aún son experimentales.
Python 3 con PyQt5 (se ha 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, utilizar esta rama es la solución más sencilla. Tenga en cuenta que PyQt5 (pero no PyQt4) de hecho se puede instalar con pip
, 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
para el propósito de escribir esta respuesta,git clone
el repositorio GitHub de FAForever/client ygit checkout
la474-feature-py3
rama:mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/FAForever/client.git faf-client cd faf-client git checkout 474-feature-py3
Cree y active un virtualenv para Python 3 (el valor predeterminado es Python 3.5 para Ubuntu 17.04) y fuerce la actualización
pip
solo para asegurarse de que esté actualizado: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
Utilice
pip
para instalarPyQt5
y desderequirements.txt
:pip install PyQt5 pip install -r requirements.txt
Descarga el
faf-uid
binariofaf-client/lib
y hazlo ejecutable:wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid chmod +x lib/faf-uid
Ejecutarse
python
ensrc/__main__.py
:python src/__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
instalar python-qt4
, lo cual nonotiene el QtWebKit
modulo. Creé y activé un virtualenv sin usar la --system-site-packages
opción y usé pip
para instalar PySide
, que sí tiene el QtWebKit
módulo. Luego vinculé las bibliotecas y archivos del sistema apropiados para PyQt4 al virtualenv. Luego hice un par de cambios para faf-client/src
importar el QtWebKit
módulo desde PySide
. Esta solución está inspirada enhttps://stackoverflow.com/a/28850104/486919,https://stackoverflow.com/a/36887302/486919yhttps://stackoverflow.com/a/37616466/486919.
Pasos:
Instalar
python-qt4
:sudo apt update sudo apt install 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:mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/edwinksl/client.git faf-client cd faf-client git checkout patch
Esta
patch
rama tiene varias confirmaciones adicionales en comparación con la rama predeterminadadevelop
: 1) elimina la especificación de versión decx_Freeze
, que me estaba dando problemas de instalación si usaba la4.3.4
versión especificada anteriormente, y 2) importaQtWebKit
desdePySide
en lugar dePyQt4
.Cree y active un virtualenv para Python 2 y fuerce la actualización
pip
solo para asegurarse de que esté actualizado:virtualenv venv source venv/bin/activate pip install -U --force-reinstall pip
Utilice
pip
para instalarPySide
y desderequirements.txt
:pip install PySide pip install -r requirements.txt
Descarga el
faf-uid
binariofaf-client/lib
y hazlo ejecutable:wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid chmod +x lib/faf-uid
cd
alsite-packages
directorio dentro de virtualenv y cree los enlaces simbólicos apropiados: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 .
Tenga en cuenta el
.
al final de cada enlace simbólico.cd
volver afaf-client
ypython
ejecutarsrc/__main__.py
:cd - # this goes back to previous directory, which should be ~/Desktop/temp/faf-client python src/__main__.py
Respuesta2
Verifique ~/.bashrc
la anulación de la versión de Python
El paquete que desea compilar requiere la versión 2.7.x de Python. Confirma eso con estos comandos:
$ 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']
>>>
Ese era el problema en estePreguntas y respuestas.
No estás solo con linux error PyQt4 import QtWebKit
la búsqueda de Google:
- ImportError: Ningún módulo llamado 'PyQt4.QtWebKit'
- no se puede ejecutar spyder/ImportError: no hay ningún módulo llamado QtWebKit #3200
- ImportError: No hay módulo llamado 'PyQt4.QtWebKit' #1683
- Algunas aplicaciones PyQt4 no se inician en Yakkety debido a que falta PyQt4-WebKit
- Python no puede importar módulos específicos de PyQt4 QtWebKit
- Python 2.7.11 - ImportError: no se puede importar el nombre QtWebKit - Kali Linux / Debian 8
- PyQt4: ¿Por qué aparece "ImportError: No hay módulo llamado QtWebkit"?
Desafortunadamente, hay muchos más resultados de Google, pero creo que estos son los más pertinentes para que los leas.siLa primera recomendación no funciona.