总结 我无法再在 Focal Fossa(Ubuntu 20.04)上安装pygtk
,但我自己编写的基于 PyGTK 的 Python 应用程序需要它。
几年前,我使用该软件包基于 GTK 编写了一个 Python2 应用程序pygtk
。多年来,它一直运行良好,我总是可以使用可用的 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 /tmp/pip-install-nezwkvr_/pygtk/pip-egg-info
cwd: /tmp/pip-install-nezwkvr_/pygtk/
Complete output (4 lines):
********************************************************************
* Building PyGTK using distutils is only supported on windows. *
* To build PyGTK in a supported way, read the INSTALL file. *
********************************************************************
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
(提到的pygtk-2.24.0.tar.bz2
文件不再可用,所以我甚至无法INSTALL
按照建议查看该文件。)
我也没有找到apt install ...
可以安装它的软件包。
好吧,我想,回到 Python2。但不幸的是,我pygtk
也无法为 Python2 安装。我能安装一个包,但Python2 不再python2
有命令和/或模块。(所以,这两者都不起作用。也许我只是没有找到正确的方法。)pip
pip ...
pip2 ...
python2 -m pip
所以我无法安装Python2版本。
然后,我尝试查找如何安装非打包版本的 pygtk,但很快就陷入了更多的依赖关系(jhinstall
等等),这似乎花费了更多的时间,而且我缺乏解决所有这些问题的经验。
所以我猜也许有一个更简单的解决方案,也许这里有人知道如何轻松解决这个问题。如果这里没有出现任何结果,我将不得不投入时间并以困难的方式解决依赖关系。
答案1
您可以python-gtk2
从 18.04 LTS 存储库手动安装:
cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
sudo apt-get install ./python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
并照常使用:)