(由于这篇帖子的浏览量以及方法的更新程度,我决定更新这个问题,以便回答和提问。请查看此帖子的修订历史,了解旧方法运行Python客户端和旧指南的过程。)
Beta状态的Java客户端:
使用此脚本:(更新于2019年3月12日)https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
Python客户端:(现已过时)
如何:从源代码编译这个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
目前维基百科并不是非常更新。
有一段时间我可以使用原生Python来运行FAF,不需要虚拟环境,但是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。干杯!
t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
- tatsut@tsu:~$ whereis qtwebkit qtwebkit:
- tatsusudo apt-get build-dep qt5-default
我收到的错误信息是:E: 无法修复问题,您有损坏的软件包。
这是因为我安装了很多随机编译的Qt和其他软件包,还是其他原因导致的?实际上,这些软件包并没有真正损坏,因为升级和安装仍然可以正常工作。 - tatsu_clientwindow.py
正在尝试从PyQt4
导入QtWebKit
,这是问题的原因。请尝试改为从PySide
导入QtWebKit
。 - edwinksl