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:
-
cdem um diretório de sua escolha, que será~/Desktop/temppara o propósito de escrever esta resposta,git clonedo repositório GitHub do FAForever / client egit checkoutthe474-feature-py3branch: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
pipapenas 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
pippara instalarPyQt5erequirements.txt:pip install PyQt5 pip install -r requirements.txt -
Transfira o binário
faf-uidparafaf-client/libe 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
pythonemsrc/__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 -
cdem um diretório de sua escolha, que será~/Desktop/temppara o propósito de escrever esta resposta,git cloneminha versão do repositório egit checkoutopatchbranch:mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/edwinksl/client.git faf-client cd faf-client git checkout patchEsta ramificação
patchtem várias confirmações adicionais comparadas à ramificaçãodeveloppadrã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.4anteriormente especificado, e 2) importaQtWebKitdePySideem vez dePyQt4. -
Crie e ative um virtualenv para o Python 2 e force-upgrade
pipapenas para ter certeza de que está atualizado:virtualenv venv source venv/bin/activate pip install -U --force-reinstall pip -
Use
pippara instalarPySideerequirements.txt:pip install PySide pip install -r requirements.txt -
Transfira o binário
faf-uidparafaf-client/libe 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 -
cdpara o diretóriosite-packagesdentro 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. -
cdvolta parafaf-cliente executapythonemsrc/__main__.py:cd - # this goes back to previous directory, which should be ~/Desktop/temp/faf-client python src/__main__.py

