Nota: os passos para Python 3 com PyQt5 provaram funcionar enquanto os passos para Python 2 com PyQt4 e PySide ainda são experimentais.
Python 3 com PyQt5 (comprovado para funcionar)
Parece que a ramificação 474-feature-py3
do repositório GitHub do FAForever / client usa o Python 3 com PyQt5, que contém o QtWebKit. Portanto, usar esse ramo é a solução mais simples. Note que o PyQt5 (mas não o PyQt4) pode ser instalado com pip
, então isso torna as coisas muito mais convenientes.
Etapas para o 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
do repositório GitHub do FAForever / client egit checkout
the474-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 o Python 3 (o padrão é o Python 3.5 para o Ubuntu 17.04) e force-upgrade
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
erequirements.txt
:pip install PyQt5 pip install -r requirements.txt
-
Transfira o binário
faf-uid
parafaf-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
-
Executar
python
emsrc/__main__.py
:python src/__main__.py
Python 2 com PyQt4 e PySide (experimental)
Parece que eu posso ter descoberto como importar o módulo QtWebKit
, mas não tenho o jogo FAF instalado, por isso não posso verificar totalmente se isso funciona e, portanto, essa resposta é um trabalho em andamento.
Em poucas palavras, usei apt
para instalar python-qt4
, o que não tem o módulo QtWebKit
. Eu criei e ativei um virtualenv sem usar a opção --system-site-packages
e usei pip
para instalar o PySide
, que possui o módulo QtWebKit
. Eu então criei um link simbólico para bibliotecas virtuais e arquivos apropriados para o PyQt4 no virtualenv. Em seguida, fiz algumas alterações em faf-client/src
para importar o módulo QtWebKit
de PySide
. Essa solução é inspirada no link , link e link .
Etapas:
-
Instale
python-qt4
:sudo apt update sudo apt install python-qt4
-
cd
em um diretório de sua escolha, que será~/Desktop/temp
para o propósito de escrever esta resposta,git clone
minha versão do repositório egit checkout
opatch
branch:mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/edwinksl/client.git faf-client cd faf-client git checkout patch
Esta ramificação
patch
tem várias confirmações adicionais comparadas à ramificaçãodevelop
padrão: 1) ela se livra da especificação de versão paracx_Freeze
, o que me causava problemas de instalação se eu usasse a versão4.3.4
anteriormente especificado, e 2) importaQtWebKit
dePySide
em vez dePyQt4
. -
Crie e ative um virtualenv para o Python 2 e force-upgrade
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
erequirements.txt
:pip install PySide pip install -r requirements.txt
-
Transfira o binário
faf-uid
parafaf-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 o diretóriosite-packages
dentro do virtualenv e faça 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
volta parafaf-client
e executapython
emsrc/__main__.py
:cd - # this goes back to previous directory, which should be ~/Desktop/temp/faf-client python src/__main__.py