Estou tentando executar o FAF (nativamente) em conjunto com o FA (através do vinho)
(devido às visualizações que esta postagem recebe e a 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 para encontrar o método antigo para executar o método 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: compilar este aplicativo python (FAF) da fonte:
em funcionamento graças ao guia "Python 3 com PyQt5" de @edwinksl. marcou-o como solução. bom trabalho!
Atualização (31/1/2018)
Desculpe, demorei tanto para atualizar esta postagem. obteve 7000 visualizações! realmente merece informações atualizadas.
Desde que eu perguntei muita coisa aconteceu. O FAF agora tem mais ou menos suporte ao 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, você pode encontrar mais informações acessando: http://forums.faforever.com/viewtopic.php?f=2&t=4507
No momento, o wiki não está tão atualizado.
por algum tempo eu consegui que o faf funcionasse com python nativo, não era necessário virtualenv, mas as dependências variáveis do QT e a composição dos pacotes, assim como o uso do FAF, quebraram isso novamente ... espero que temporariamente!
tenha certeza de que estou executando pessoalmente e estou aqui para oferecer consolo (tente pular as etapas 6 e 7 primeiro, pois 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 em https://github.com/FAForever/client/releases/ )- extrair (neste exemplo, extrairei 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/
: mover para o diretório de trabalhosed -i 1,1d requirements.txt
: remove o cxFreeze dos requisitos (não é necessário e eliminará 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 seja executado pelo faf.touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION
: atende ao requisito final do faf: um arquivo de versão de lançamento.
Agora ele deve rodar, mas, para o inferno, vamos fazer um 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
depois, ./FAF.sh
para executar o FAF.
Felicidades!
t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
Respostas:
Nota: as etapas para o Python 3 com PyQt5 são comprovadas para funcionar, enquanto as etapas para o Python 2 com PyQt4 e PySide ainda são experimentais.
Python 3 com PyQt5 (comprovado que funciona)
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 esse ramo é a solução mais direta. Observe que o PyQt5 (mas não o PyQt4) pode de fato ser instaladopip
, o que torna as coisas mais convenientes.Etapas para Python 3 com PyQt5:
cd
em um diretório de sua escolha,~/Desktop/temp
com o objetivo de escrever esta resposta,git clone
o repositório FAForever / client GitHub egit checkout
a474-feature-py3
ramificação:Crie e ative um virtualenv para Python 3 (o padrão é Python 3.5 para Ubuntu 17.04) e force-upgrade
pip
apenas para garantir que esteja atualizado:Use
pip
para instalarPyQt5
e derequirements.txt
:Faça o download do
faf-uid
bináriofaf-client/lib
e torne-o executável:Executar
python
emsrc/__main__.py
:Python 2 com PyQt4 e PySide (experimental)
Parece que eu descobri como importar o
QtWebKit
módulo, mas não tenho o jogo FAF instalado, então não posso verificar completamente se isso funciona e, portanto, esta resposta é um trabalho em andamento.Em poucas palavras, eu costumava
apt
instalarpython-qt4
, que não possui oQtWebKit
módulo. Criei e ativei um virtualenv sem usar a--system-site-packages
opção e useipip
a instalaçãoPySide
, que possui oQtWebKit
módulo. Em seguida, vinculei as bibliotecas e arquivos do sistema apropriados para o PyQt4 ao virtualenv. Depois, fiz algumas alteraçõesfaf-client/src
para importar oQtWebKit
móduloPySide
. Esta solução é inspirada em /programming//a/28850104/486919 , /programming//a/36887302/486919 e /programming//a/37616466/486919 .Passos:
Instalar
python-qt4
:cd
em um diretório de sua escolha, que terá como~/Desktop/temp
objetivo escrever esta resposta,git clone
minha versão do repositório egit checkout
opatch
ramo:Essa
patch
ramificação possui várias confirmações adicionais em comparação com adevelop
ramificação padrão : 1) elimina a especificação da versãocx_Freeze
, o que estava causando problemas de instalação se eu usasse a4.3.4
versão especificada anteriormente e 2) importaQtWebKit
emPySide
vez dePyQt4
.Crie e ative um virtualenv para Python 2 e force-upgrade
pip
apenas para garantir que ele esteja atualizado:Use
pip
para instalarPySide
e derequirements.txt
:Faça o download do
faf-uid
bináriofaf-client/lib
e torne-o executável:cd
para osite-packages
diretório dentro do virtualenv e faça links simbólicos apropriados:Observe o
.
no final de cada link simbólico.cd
de volta parafaf-client
e executarpython
emsrc/__main__.py
:fonte
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
entrar nofaf-client
diretório primeiro e depois fazergit checkout patch
.pip install -r faf-client/requirements.txt
adicionarwget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O ./faf-client/lib/faf-uid
e, emchmod +x ./faf-client/lib/faf-uid
seguida,cd ./faf-client && ../venv/bin/python src/__main__.py
conforme o post original do fórum do tutorial, criei meu script com: forums.faforever.com/… O FAF executa o bbut ainda com um log de erros.Verificar
~/.bashrc
a substituição da versão do PythonO pacote que você deseja compilar requer o Python versão 2.7.x. Confirme que com estes comandos:
Esse foi o problema nas perguntas e respostas .
Você não está sozinho na
linux error PyQt4 import QtWebKit
pesquisa do Google:Infelizmente, existem muitos mais resultados do google, mas acredito que sejam os mais pertinentes para você ler se a primeira recomendação não der certo.
fonte