FA(와인을 통해)와 함께 FAF(기본적으로)를 실행하려고 합니다.
(이 게시물의 조회수와 방법이 얼마나 업데이트되었는가로 인해 답변과 질문을 위해 이 질문을 업데이트하기로 결정했습니다. 실행하기 위한 이전 방법을 찾는 과정은 이 게시물의 개정 내역을 확인하세요. Python 클라이언트 및 이전 가이드)
베타 상태 Java 클라이언트:
이 스크립트를 사용하십시오 :(2019년 3월 12일 업데이트됨)
https://github.com/tatsujb/installFAF스크립트
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Python 클라이언트: (현재는 사용되지 않음)
방법: 컴파일이 파이썬 앱(FAF) 출처:
@edwinksl의 "Python 3 with PyQt5" 가이드 덕분에 작동하고 있습니다. 그를 해결책으로 표시했습니다. 잘했어요!
업데이트 (2018년 1월 31일)
죄송합니다. 이 게시물을 업데이트하는 데 시간이 너무 오래 걸렸습니다. 조회수 7000회를 기록했습니다! 정말 최신 정보를 얻을 가치가 있습니다.
물어본 이후로 많은 일이 일어났습니다. FAF는 이제 어느 정도 Linux를 지원합니다. 설치에 필요한 위키도 있습니다(그리고 배포판별로!).
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
귀하의 요구 사항에 적합하다고 보장할 수는 없습니다. 다음을 검색하면 더 많은 정보를 찾을 수 있습니다.http://forums.faforever.com/viewtopic.php?f=2&t=4507
지금은 위키가 그다지 최신 상태가 아닙니다.
잠시 동안 나는 faf를 기본 Python으로 실행할 수 있었고 virtualenv는 필요하지 않았지만 QT의 평균 종속성 및 패키지 구성 변경과 FAF 사용으로 인해 다시 문제가 발생했습니다 ... 일시적으로 바랍니다!
개인적으로 실행 중이므로 위로를 제공하기 위해 여기에 있습니다(필요하지 않을 수 있으므로 먼저 6단계와 7단계를 건너뛰십시오).
- 몇 가지 필수 구성 요소를 설치합니다.
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
(또는 최신 릴리스https://github.com/FAForever/client/releases/)- 추출(이 예에서는 집으로 추출하겠습니다)(
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/
: 작업 디렉토리로 이동sed -i 1,1d requirements.txt
: 요구 사항에서 cxFreeze를 제거합니다(필수는 아니며 컴파일이 중단됩니다).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
: 로그인 바이너리를 다운로드하고 :sudo chmod +x /usr/bin/faf-uid
faf에 의해 실행되도록 허용합니다.touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION
: faf의 최종 요구 사항인 릴리스 버전 파일을 충족합니다.
이제 실행되어야 하지만 우선 실행기를 만들어 보겠습니다.
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
그런 다음 ./FAF.sh
FAF를 실행합니다.
건배!
답변1
참고: PyQt5를 사용하는 Python 3의 단계는 작동하는 것으로 입증되었지만 PyQt4 및 PySide를 사용하는 Python 2의 단계는 아직 실험적입니다.
PyQt5가 포함된 Python 3(작동하는 것으로 입증됨)
474-feature-py3
FAForever/client GitHub 저장소의 분기는 QtWebKit이 포함된 PyQt5와 함께 Python 3을 사용하는 것으로 보입니다 . 따라서 이 분기를 사용하는 것이 가장 간단한 솔루션입니다. 실제로 PyQt5(PyQt4는 아님)를 와 함께 설치할 수 있으므로 pip
작업이 훨씬 더 편리해집니다.
PyQt5를 사용한 Python 3의 단계:
cd
~/Desktop/temp
이 답변을 작성하기 위해 선택한 디렉토리 ,git clone
FAForever/client GitHub 저장소 및git checkout
지점 에 넣습니다474-feature-py3
.mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/FAForever/client.git faf-client cd faf-client git checkout 474-feature-py3
Python 3용 virtualenv(기본값은 Ubuntu 17.04의 경우 Python 3.5)를 생성 및 활성화하고 강제 업그레이드하여
pip
최신 상태인지 확인합니다.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
pip
설치PyQt5
및 다음에서 사용requirements.txt
:pip install PyQt5 pip install -r requirements.txt
faf-uid
바이너리를 다운로드하여faf-client/lib
실행 가능하게 만듭니다.wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid chmod +x lib/faf-uid
계속
python
되다src/__main__.py
:python src/__main__.py
PyQt4 및 PySide를 사용하는 Python 2(실험적)
모듈 을 가져오는 방법을 알아낸 것 같지만 QtWebKit
FAF 게임이 설치되어 있지 않아 이것이 작동하는지 완전히 확인할 수 없으므로 이 답변은 진행 중인 작업입니다.
간단히 말해서, 저는 를 apt
설치하곤 했습니다.python-qt4
~ 아니다모듈 을 가지고 있습니다 QtWebKit
. 옵션을 사용하지 않고 virtualenv를 생성하고 활성화했으며 모듈 이 있는 를 설치하는 데 --system-site-packages
사용했습니다 . 그런 다음 PyQt4에 적합한 시스템 라이브러리와 파일을 virtualenv에 심볼릭 링크했습니다. 그런 다음 에서 모듈 을 가져오기 위해 를 몇 가지 변경했습니다 . 이 솔루션은 다음에서 영감을 얻었습니다.pip
PySide
QtWebKit
faf-client/src
QtWebKit
PySide
https://stackoverflow.com/a/28850104/486919,https://stackoverflow.com/a/36887302/486919그리고https://stackoverflow.com/a/37616466/486919.
단계:
설치하다
python-qt4
:sudo apt update sudo apt install python-qt4
cd
~/Desktop/temp
이 답변을 작성하기 위한 목적으로 선택한 디렉토리 ,git clone
내 버전의 저장소 및git checkout
브랜치 에 넣습니다patch
.mkdir ~/Desktop/temp cd ~/Desktop/temp git clone https://github.com/edwinksl/client.git faf-client cd faf-client git checkout patch
이
patch
브랜치에는 기본 브랜치에 비해 몇 가지 추가 커밋이 있습니다 . 1) 이전에 지정한 버전 을 사용할 경우 설치 문제를 일으키는 에develop
대한 버전 사양을 제거하고 2) 브랜치 대신 에서 가져옵니다 .cx_Freeze
4.3.4
QtWebKit
PySide
PyQt4
Python 2용 virtualenv를 생성 및 활성화하고 강제로 업그레이드하여
pip
최신 상태인지 확인하세요.virtualenv venv source venv/bin/activate pip install -U --force-reinstall pip
pip
설치PySide
및 다음에서 사용requirements.txt
:pip install PySide pip install -r requirements.txt
faf-uid
바이너리를 다운로드하여faf-client/lib
실행 가능하게 만듭니다.wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid chmod +x lib/faf-uid
cd
site-packages
virtualenv 내부의 디렉토리 로 이동 하고 적절한 심볼릭 링크를 만듭니다.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 .
.
각 심볼릭 링크 끝에 있는 를 참고하세요 .cd
다음으로 돌아가서faf-client
실행python
하세요src/__main__.py
.cd - # this goes back to previous directory, which should be ~/Desktop/temp/faf-client python src/__main__.py
답변2
~/.bashrc
Python 버전 재정의 확인
컴파일하려는 패키지에는 Python 버전 2.7.x가 필요합니다. 다음 명령으로 확인하세요.
$ 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']
>>>
이게 문제였어Q&A.
linux error PyQt4 import QtWebKit
Google 검색을 사용하는 사람은 혼자가 아닙니다 .
- ImportError: 'PyQt4.QtWebKit'이라는 모듈이 없습니다.
- 스파이더를 실행할 수 없습니다/ImportError: QtWebKit #3200이라는 모듈이 없습니다.
- ImportError: 'PyQt4.QtWebKit'이라는 모듈이 없습니다. #1683
- PyQt4-WebKit 누락으로 인해 일부 PyQt4 애플리케이션이 Yakkety에서 시작되지 않습니다.
- Python은 특정 PyQt4 QtWebKit 모듈을 가져올 수 없습니다.
- Python 2.7.11 - ImportError: QtWebKit 이름을 가져올 수 없습니다. - Kali Linux/Debian 8
- PyQt4: "ImportError: QtWebkit이라는 모듈이 없습니다"라는 메시지가 나타나는 이유는 무엇입니까?
불행하게도 더 많은 Google 검색결과가 있지만 이것이 귀하가 읽어야 할 가장 적절한 검색결과라고 생각합니다.만약에첫 번째 권장 사항은 적용되지 않습니다.