FAF bản địa trên Ubuntu (QtWebKit trên ubfox 17.04+)


11

Tôi đang cố gắng chạy FAF (nguyên bản) kết hợp với FA (thông qua rượu vang)

. khách hàng python và các hướng dẫn cũ)


Máy khách Java trạng thái Beta:

nhập mô tả hình ảnh ở đây

sử dụng tập lệnh này: (cập nhật 3/12/2019)

https://github.com/tatsujb/installFAFscript

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


Ứng dụng khách Python: (NGAY BÂY GIỜ)

FAF làm việc

Cách: biên dịch ứng dụng python này (FAF) từ nguồn:

lên và chạy nhờ vào hướng dẫn "Python 3 với PyQt5" của @edwinksl. đánh dấu anh là giải pháp. làm tốt lắm!

Cập nhật (31/1/2018)

Xin lỗi tôi mất quá nhiều thời gian để cập nhật bài viết này. nó đã nhận được 7000 lượt xem! nó thực sự xứng đáng với thông tin cập nhật.

Vì tôi hỏi rất nhiều chuyện đã xảy ra. FAF hiện có ít nhiều hỗ trợ linux. họ thậm chí còn có một wiki để cài đặt nó (và mỗi bản phân phối!):

https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUb Ubuntu

nó không được đảm bảo để phù hợp với nhu cầu của bạn, có thể tìm thấy nhiều hơn bằng cách tìm hiểu tại: http://forums.faforever.com/viewtopic.php?f=2&t=4507

ngay bây giờ wiki không phải là tất cả cập nhật.

trong một thời gian tôi có thể khiến faf chạy với python bản địa, không cần virtualenv nhưng trung bình thay đổi phụ thuộc và thành phần gói của QT cũng như việc sử dụng FAF của chúng đã bị hỏng một lần nữa ... tạm thời tôi hy vọng!

Hãy yên tâm Tôi đã có nó chạy cá nhân và tôi ở đây để cung cấp sự an ủi (hãy thử bỏ qua các bước 6 & 7 trước tiên họ có thể không cần thiết):

  1. Cài đặt một số điều kiện tiên quyết: 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(hoặc bất kỳ bản phát hành nào mới nhất tại https://github.com/FAForever/client/release/ )
  3. trích xuất (ví dụ này tôi sẽ trích xuất về nhà) ( 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/ : di chuyển đến thư mục làm việc
  5. sed -i 1,1d requirements.txt : loại bỏ cxFreeze khỏi các yêu cầu (không bắt buộc và nó sẽ giết biên dịch)
  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: tải về nhị phân đăng nhập và: sudo chmod +x /usr/bin/faf-uidcho phép nó được thực thi bởi faf.
  9. touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION : đáp ứng yêu cầu cuối cùng của faf: tệp phiên bản phát hành.

bây giờ nó sẽ chạy nhưng vì cái quái gì đó, hãy tạo ra một người chạy:

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

sau đó ./FAF.shđể chạy FAF.

Chúc mừng!


Xem wiki.qt.io/Bu kiếm_Qt_5_from_Git . Nếu bạn vẫn gặp sự cố, hãy liên hệ trực tiếp với người bảo trì qtwebkit.
Panther

t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
tatsu

Vì vậy, hãy đặt nguồn uri vào - askubfox.com/questions/496549/ mẹo
Panther

2
@tatsu Tôi nghĩ rằng tôi đã quản lý để QtWebKit hoạt động nhưng tôi không có trò chơi FAF, vì vậy tôi không thể xác minh đầy đủ hoạt động này. Hãy để tôi thử thiết lập một phòng chat để chúng ta có thể thảo luận.
edwinksl

2
@tatsu Trong khi đó tôi đã viết một câu trả lời. Hãy thử và xem nếu nó giúp.
edwinksl

Câu trả lời:


4

Lưu ý: các bước cho Python 3 với PyQt5 được chứng minh là hoạt động trong khi các bước cho Python 2 với PyQt4 và PySide vẫn đang thử nghiệm.

Python 3 với PyQt5 (đã được chứng minh là hoạt động)

Dường như 474-feature-py3nhánh của kho lưu trữ GitHub của FAForever / client sử dụng Python 3 với PyQt5, chứa QtWebKit. Do đó, sử dụng nhánh này là giải pháp đơn giản nhất. Lưu ý rằng trên thực tế PyQt5 (nhưng không phải PyQt4) có thể được cài đặt cùng pip, do đó làm cho mọi thứ thuận tiện hơn.

Các bước cho Python 3 với PyQt5:

  1. cdvào một thư mục của sự lựa chọn của bạn, mà sẽ ~/Desktop/tempcho mục đích viết câu trả lời này, git clonecác / client kho GitHub FAForever và git checkoutcác 474-feature-py3chi nhánh:

    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. Tạo và kích hoạt virtualenv cho Python 3 (mặc định là Python 3.5 cho Ubuntu 17.04) và buộc nâng cấp pipchỉ để đảm bảo nó được cập nhật:

    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. Sử dụng pipđể cài đặt PyQt5và từ requirements.txt:

    pip install PyQt5
    pip install -r requirements.txt
    
  4. Tải về faf-uidnhị phân vào faf-client/libvà làm cho nó thực thi:

    wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
    chmod +x lib/faf-uid
    
  5. Chạy pythontrên src/__main__.py:

    python src/__main__.py
    

Python 2 với PyQt4 và PySide (thử nghiệm)

Có vẻ như tôi có thể đã tìm ra cách nhập QtWebKitmô-đun, nhưng tôi chưa cài đặt trò chơi FAF, vì vậy tôi không thể xác minh đầy đủ rằng điều này hoạt động và do đó câu trả lời này đang được tiến hành.

Tóm lại, tôi đã từng aptcài đặt python-qt4, khôngQtWebKitmô-đun. Tôi đã tạo và kích hoạt một virtualenv mà không cần sử dụng --system-site-packagestùy chọn và được sử dụng pipđể cài đặt PySide, trong đó có QtWebKitmô-đun. Sau đó, tôi đã liên kết các thư viện và tệp hệ thống thích hợp cho PyQt4 vào virtualenv. Sau đó, tôi đã thực hiện một vài thay đổi faf-client/srcđể nhập QtWebKitmô-đun từ đó PySide. Giải pháp này được lấy cảm hứng từ /programming//a/28850104/486919 , /programming//a/36887302/486919/programming//a/37616466/486919 .

Các bước:

  1. Cài đặt python-qt4:

    sudo apt update
    sudo apt install python-qt4
    
  2. cdvào một thư mục của sự lựa chọn của bạn, mà sẽ ~/Desktop/tempcho mục đích viết câu trả lời này, git clonephiên bản của tôi về kho lưu trữ và git checkoutcác patchchi nhánh:

    mkdir ~/Desktop/temp
    cd ~/Desktop/temp
    git clone https://github.com/edwinksl/client.git faf-client
    cd faf-client
    git checkout patch
    

    Đây patchchi nhánh có một số cam kết khác so với mặc định developchi nhánh: 1) nó được thoát khỏi những đặc điểm kỹ thuật phiên bản dành cho cx_Freeze, được đem lại cho tôi những vấn đề cài đặt nếu tôi sử dụng 4.3.4phiên bản quy định trước đây, và 2) nó nhập khẩu QtWebKittừ PySidethay vì PyQt4.

  3. Tạo và kích hoạt virtualenv cho Python 2 và bắt buộc nâng cấp pipchỉ để đảm bảo nó được cập nhật:

    virtualenv venv
    source venv/bin/activate
    pip install -U --force-reinstall pip
    
  4. Sử dụng pipđể cài đặt PySidevà từ requirements.txt:

    pip install PySide
    pip install -r requirements.txt
    
  5. Tải về faf-uidnhị phân vào faf-client/libvà làm cho nó thực thi:

    wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
    chmod +x lib/faf-uid
    
  6. cdvào site-packagesthư mục bên trong virtualenv và tạo các liên kết tượng trưng thích hợp:

    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 .
    

    Lưu ý .ở cuối mỗi symlink.

  7. cdquay lại faf-clientvà chạy pythontrên src/__main__.py:

    cd -  # this goes back to previous directory, which should be ~/Desktop/temp/faf-client
    python src/__main__.py
    

đầu tiên cảm ơn bạn và xin lỗi tôi đã bỏ lỡ hàng đợi Tôi phải nhập viện. Tôi bị kẹt tại: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.
tatsu

@tatsu xấu quá. Bạn cần cdvào faf-clientthư mục trước, sau đó mới làm git checkout patch.
edwinksl

@edwinskl yup !! và sao lưu cd một khi đã xong!
tatsu

@edwinskl ngay sau khi pip install -r faf-client/requirements.txt tôi thêm wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O ./faf-client/lib/faf-uid chmod +x ./faf-client/lib/faf-uidsau đó làm cd ./faf-client && ../venv/bin/python src/__main__.py theo bài đăng trên diễn đàn hướng dẫn ban đầu, tôi đã xây dựng tập lệnh của mình với: forum.faforever.com/. FAF vẫn chạy bbut với nhật ký lỗi.
tatsu

@tatsu Hãy đề nghị chỉnh sửa! Sau tất cả, bạn đã cài đặt trò chơi trong khi tôi không ...
edwinksl

1

Kiểm tra ~/.bashrcghi đè phiên bản Python

Gói bạn muốn biên dịch yêu cầu phiên bản Python 2.7.x. Xác nhận rằng với các lệnh sau:

$ 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']
>>> 

Đó là vấn đề trong Q & A này .

Bạn không đơn độc với linux error PyQt4 import QtWebKittìm kiếm google:

Thật không may, có rất nhiều kết quả google nhưng những điều này tôi tin là thích hợp nhất để bạn đọc nếu đề xuất đầu tiên không được đưa ra.


cảm ơn nhưng tôi không chắc là tôi không hiểu hay sao nhưng tôi đang sử dụng virtualenv (tôi tin) đang giúp tôi không phải cài đặt python2 cục bộ. cho rằng tôi không phải lo lắng về python3 can thiệp với bất cứ điều gì. sửa tôi nếu tôi hoàn toàn bỏ lỡ dấu ở đây
tatsu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.