PyQt5가 포함된 Python 3(작동하는 것으로 입증됨)

PyQt5가 포함된 Python 3(작동하는 것으로 입증됨)

FA(와인을 통해)와 함께 FAF(기본적으로)를 실행하려고 합니다.

(이 게시물의 조회수와 방법이 얼마나 업데이트되었는가로 인해 답변과 질문을 위해 이 질문을 업데이트하기로 결정했습니다. 실행하기 위한 이전 방법을 찾는 과정은 이 게시물의 개정 내역을 확인하세요. Python 클라이언트 및 이전 가이드)


베타 상태 Java 클라이언트:

여기에 이미지 설명을 입력하세요

이 스크립트를 사용하십시오 :(2019년 3월 12일 업데이트됨)

https://github.com/tatsujb/installFAF스크립트

https://www.youtube.com/watch?v=BEWUEoQ8Q4k


Python 클라이언트: (현재는 사용되지 않음)

FAF 근무

방법: 컴파일이 파이썬 앱(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단계를 건너뛰십시오).

  1. 몇 가지 필수 구성 요소를 설치합니다.sudo apt update && sudo apt install wget PyQt5.QtMultimedia python3-idna python3-semantic-version python3-pyqt5 python3-pyqt5.qtwebengine
  2. cd Downloads && wget https://github.com/FAForever/client/archive/0.16.1.tar.gz(또는 최신 릴리스https://github.com/FAForever/client/releases/)
  3. 추출(이 예에서는 집으로 추출하겠습니다)( 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)
  4. cd fafclient/: 작업 디렉토리로 이동
  5. sed -i 1,1d requirements.txt: 요구 사항에서 cxFreeze를 제거합니다(필수는 아니며 컴파일이 중단됩니다).
  6. virtualenv -p python3 faf
  7. pip install -r requirements.txt
  8. 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-uidfaf에 의해 실행되도록 허용합니다.
  9. 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.shFAF를 실행합니다.

건배!

답변1

참고: PyQt5를 사용하는 Python 3의 단계는 작동하는 것으로 입증되었지만 PyQt4 및 PySide를 사용하는 Python 2의 단계는 아직 실험적입니다.

PyQt5가 포함된 Python 3(작동하는 것으로 입증됨)

474-feature-py3FAForever/client GitHub 저장소의 분기는 QtWebKit이 포함된 PyQt5와 함께 Python 3을 사용하는 것으로 보입니다 . 따라서 이 분기를 사용하는 것이 가장 간단한 솔루션입니다. 실제로 PyQt5(PyQt4는 아님)를 와 함께 설치할 수 있으므로 pip작업이 훨씬 더 편리해집니다.

PyQt5를 사용한 Python 3의 단계:

  1. cd~/Desktop/temp이 답변을 작성하기 위해 선택한 디렉토리 , git cloneFAForever/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
    
  2. 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
    
  3. pip설치 PyQt5및 다음에서 사용 requirements.txt:

    pip install PyQt5
    pip install -r requirements.txt
    
  4. 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
    
  5. 계속 python되다 src/__main__.py:

    python src/__main__.py
    

PyQt4 및 PySide를 사용하는 Python 2(실험적)

모듈 을 가져오는 방법을 알아낸 것 같지만 QtWebKitFAF 게임이 설치되어 있지 않아 이것이 작동하는지 완전히 확인할 수 없으므로 이 답변은 진행 중인 작업입니다.

간단히 말해서, 저는 를 apt설치하곤 했습니다.python-qt4~ 아니다모듈 을 가지고 있습니다 QtWebKit. 옵션을 사용하지 않고 virtualenv를 생성하고 활성화했으며 모듈 이 있는 를 설치하는 데 --system-site-packages사용했습니다 . 그런 다음 PyQt4에 적합한 시스템 라이브러리와 파일을 virtualenv에 심볼릭 링크했습니다. 그런 다음 에서 모듈 을 가져오기 위해 를 몇 가지 변경했습니다 . 이 솔루션은 다음에서 영감을 얻었습니다.pipPySideQtWebKitfaf-client/srcQtWebKitPySidehttps://stackoverflow.com/a/28850104/486919,https://stackoverflow.com/a/36887302/486919그리고https://stackoverflow.com/a/37616466/486919.

단계:

  1. 설치하다 python-qt4:

    sudo apt update
    sudo apt install python-qt4
    
  2. 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_Freeze4.3.4QtWebKitPySidePyQt4

  3. Python 2용 virtualenv를 생성 및 활성화하고 강제로 업그레이드하여 pip최신 상태인지 확인하세요.

    virtualenv venv
    source venv/bin/activate
    pip install -U --force-reinstall pip
    
  4. pip설치 PySide및 다음에서 사용 requirements.txt:

    pip install PySide
    pip install -r requirements.txt
    
  5. 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
    
  6. cdsite-packagesvirtualenv 내부의 디렉토리 로 이동 하고 적절한 심볼릭 링크를 만듭니다.

    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 .
    

    .각 심볼릭 링크 끝에 있는 를 참고하세요 .

  7. 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

~/.bashrcPython 버전 재정의 확인

컴파일하려는 패키지에는 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 QtWebKitGoogle 검색을 사용하는 사람은 혼자가 아닙니다 .

불행하게도 더 많은 Google 검색결과가 있지만 이것이 귀하가 읽어야 할 가장 적절한 검색결과라고 생각합니다.만약에첫 번째 권장 사항은 적용되지 않습니다.

관련 정보