Estou tentando executar o FAF (nativamente) em conjunto com o FA (através do wine)
(devido às visualizações que esta postagem recebe e ao quanto os métodos foram atualizados, decidi atualizar esta pergunta para que ela responda e também pergunte. verifique o histórico de revisões desta postagem para ver o processo de localização do método antigo para executar o cliente python e os guias antigos)
Cliente Java de estado beta:
use este script:(atualizado em 12/03/2019)
https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Cliente Python: (AGORA OBSOLETO)
Como: compilareste aplicativo python(FAF) da fonte:
instalado e funcionando graças ao guia "Python 3 with PyQt5" de @edwinksl. marcou-o como solução. bom trabalho!
Atualização (31/01/2018)
Desculpe, demorei tanto para atualizar este post. obteve 7.000 visualizações! realmente merece informações atualizadas.
Desde que perguntei muita coisa aconteceu. FAF agora tem mais ou menos suporte a Linux. eles ainda têm um wiki para instalá-lo (e por distribuição!):
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
não é garantido que atenda às suas necessidades. Mais informações podem ser encontradas em:http://forums.faforever.com/viewtopic.php?f=2&t=4507
no momento, o wiki não está tão atualizado.
por um tempo eu consegui fazer o faf rodar com python nativo, sem necessidade de virtualenv, mas a mudança de dependências e composição do pacote do QT, bem como o uso do FAF deles, quebrou isso de novo ... temporariamente, espero!
tenha certeza de que estou executando pessoalmente e estou aqui para oferecer consolo (tente pular as etapas 6 e 7 primeiro, pois elas podem ser desnecessárias):
- Instale alguns pré-requisitos:
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 qualquer versão mais recente emhttps://github.com/FAForever/client/releases/)- extrair (para este exemplo vou extrair para 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/
: vai para o diretório de trabalhosed -i 1,1d requirements.txt
: remove cxFreeze dos requisitos (não é obrigatório e interromperá a compilação)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
: baixa o binário de login e :sudo chmod +x /usr/bin/faf-uid
permite que ele seja executado por faf.touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION
: cumpre o requisito final do faf: um arquivo de versão de lançamento.
agora ele deve rodar, mas vamos fazer um runner:
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
em seguida ./FAF.sh
, execute o FAF.
Saúde!
Responder1
Nota: as etapas para Python 3 com PyQt5 funcionam comprovadamente, enquanto as etapas para Python 2 com PyQt4 e PySide ainda são experimentais.
Python 3 com PyQt5 (funciona comprovadamente)
Parece que a 474-feature-py3
ramificação do repositório FAForever/client GitHub usa Python 3 com PyQt5, que contém QtWebKit. Portanto, usar este branch é a solução mais direta. Observe que o PyQt5 (mas não o PyQt4) pode de fato ser instalado com o pip
, o que torna as coisas muito mais convenientes.
Etapas para Python 3 com PyQt5:
cd
em um diretório de sua escolha, que será~/Desktop/temp
para o propósito de escrever esta resposta,git clone
o repositório GitHub FAForever/client egit checkout
o474-feature-py3
branch:mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/FAForever/client.git faf-client cd faf-client git checkout 474-feature-py3
Crie e ative um virtualenv para Python 3 (o padrão é Python 3.5 para Ubuntu 17.04) e force a atualização
pip
apenas para ter certeza de que está atualizado: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
Use
pip
para instalarPyQt5
e derequirements.txt
:pip install PyQt5 pip install -r requirements.txt
Baixe o
faf-uid
bináriofaf-client/lib
e torne-o executável:wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid chmod +x lib/faf-uid
Continue :
python
src/__main__.py
python src/__main__.py
Python 2 com PyQt4 e PySide (experimental)
Parece que descobri como importar o QtWebKit
módulo, mas não tenho o jogo FAF instalado, portanto não posso verificar totalmente se isso funciona e, portanto, esta resposta é um trabalho em andamento.
Resumindo, eu costumava apt
instalar o python-qt4
, o que faznãotem o QtWebKit
módulo. Criei e ativei um virtualenv sem usar a --system-site-packages
opção e usei pip
para instalar PySide
o , que possui o QtWebKit
módulo. Em seguida, vinculei as bibliotecas e arquivos do sistema apropriados para PyQt4 no virtualenv. Em seguida, fiz algumas alterações para faf-client/src
importar o QtWebKit
módulo do PySide
. Esta solução é inspirada emhttps://stackoverflow.com/a/28850104/486919,https://stackoverflow.com/a/36887302/486919ehttps://stackoverflow.com/a/37616466/486919.
Passos:
Instalar
python-qt4
:sudo apt update sudo apt install python-qt4
cd
em um diretório de sua preferência, que servirá~/Desktop/temp
para o propósito de escrever esta resposta,git clone
minha versão do repositório egit checkout
dopatch
branch:mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/edwinksl/client.git faf-client cd faf-client git checkout patch
Este
patch
branch tem vários commits adicionais em comparação com odevelop
branch padrão: 1) ele elimina a especificação de versão paracx_Freeze
, o que estava me causando problemas de instalação se eu usasse a4.3.4
versão especificada anteriormente, e 2) ele importaQtWebKit
dePySide
em vez dePyQt4
.Crie e ative um virtualenv para Python 2 e force a atualização
pip
apenas para ter certeza de que está atualizado:virtualenv venv source venv/bin/activate pip install -U --force-reinstall pip
Use
pip
para instalarPySide
e derequirements.txt
:pip install PySide pip install -r requirements.txt
Baixe o
faf-uid
bináriofaf-client/lib
e torne-o executável:wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid chmod +x lib/faf-uid
cd
para osite-packages
diretório dentro do virtualenv e crie os links simbólicos apropriados: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 .
Observe o
.
no final de cada link simbólico.cd
voltarfaf-client
epython
continuarsrc/__main__.py
:cd - # this goes back to previous directory, which should be ~/Desktop/temp/faf-client python src/__main__.py
Responder2
Verifique ~/.bashrc
a substituição da versão do Python
O pacote que você deseja compilar requer o Python versão 2.7.x. Confirme isso com estes 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']
>>>
Esse foi o problema nestePerguntas e respostas.
Você não está sozinho com linux error PyQt4 import QtWebKit
a pesquisa do Google:
- ImportError: Nenhum módulo chamado 'PyQt4.QtWebKit'
- não é possível executar o spyder / ImportError: Nenhum módulo chamado QtWebKit #3200
- ImportError: Nenhum módulo chamado 'PyQt4.QtWebKit' #1683
- Alguns aplicativos PyQt4 falham ao iniciar no Yakkety devido à falta do PyQt4-WebKit
- Python não pode importar módulos específicos do PyQt4 QtWebKit
- Python 2.7.11 - ImportError: não é possível importar o nome QtWebKit - Kali Linux / Debian 8
- PyQt4: Por que recebo “ImportError: Nenhum módulo chamado QtWebkit”?
Infelizmente, existem muitos mais resultados no Google, mas acredito que estes sejam os mais pertinentes para você lersea primeira recomendação não dá certo.