tl;dr 我不能再安装pygtk在 Focal Fossa (Ubuntu 20.04) 上,但我自己编写的基于 PyGTK 的 Python 应用程序需要它。
几年前,我使用该pygtk包基于 GTK 编写了一个 Python2 应用程序。这多年来一直很好用,我总是可以使用可用的 Python2 安装,即使 Python3 是更现代的变体。
随着 Focal Fossa (Ubuntu 20.04) 对 Python2 的支持已被删除,所以我想,没问题,我可以将我的应用程序升级到 Python3。完成后,我尝试pygtk使用 Python3 进行安装,sudo pip3 install pygtk但这失败了:
$ sudo pip3 install pygtk
Collecting pygtk
Using cached pygtk-2.24.0.tar.bz2 (2.4 MB)
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nezwkvr_/pygtk/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nezwkvr_/pygtk/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base …Run Code Online (Sandbox Code Playgroud) 我正在运行 Ubuntu MATE 16.04 LTS。
我添加了 Flatpak PPA 并将其安装到我的系统中:
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
Run Code Online (Sandbox Code Playgroud)
然后我想安装一些应用程序作为 Flatpak,所以我需要在终端中运行一些命令(例如 KDE):
添加存储库:
flatpak remote-add --if-not-exists flathub \
https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --if-not-exists kdeapps --from \
https://distribute.kde.org/kdeapps.flatpakrepo
Run Code Online (Sandbox Code Playgroud)安装所需的 flatpak(以 KDiff3 为例):
flatpak install kdeapps org.kde.kdiff3
Run Code Online (Sandbox Code Playgroud)我已经阅读了gnome-software-plugin-flatpak和plasma-discover-flatpak-backend,但是 Ubuntu Xenial 没有这样的软件包。
但是我找不到 Ubuntu 16.04 LTS 的解决方案。
更新 1:尝试plasma-discover在 16.04 LTS 上构建18.04 LTS 的源代码包,但在 Qt5 声明方面遇到许多错误,例如
发现/libdiscover/resources/ResourcesModel.cpp:336:42: 错误: 'qAsConst' 未在此范围内声明
(auto backend: qAsConst(m_backends))
^
libdiscover/CMakeFiles/DiscoverCommon.dir/build.make:374:目标“libdiscover/CMakeFiles/DiscoverCommon.dir/resources/ResourcesModel.cpp.o”的配方失败
所以这不是一个解决方案。 …