如何使用预安装的python但没有root权限在Linux上安装Tkinter?

时间:2017-11-02 13:55:26

标签: python linux tkinter

由于在大多数Linux发行版中,tkinter都有不同的软件包,因此我很难在我的大学计算机上安装它,因为我们没有root权限。

我收到以下错误:

/usr/bin/python3: Error while finding spec for 'tkinter.__main__' (<class 'ImportError'>: 
No module named '_tkinter', please install the python3-tk package);

我找到了这个答案: https://stackoverflow.com/a/10015546/2898702 然后我在/home/<user>/.local编译和部署了TCL和TK 然而,最后一步python setup.py build似乎期望,python解释器也安装在用户目录中,对我来说情况并非如此。

有没有办法安装TCL和TK而无需在本地安装python解释器?最好使用pip或easy_install。

如果它是相关的,分布似乎是linux铸造的。 Uname -a给了我:Linux pc404 4.4.0-59-generic #80~14.04.1-Ubuntu SMP Fri Jan 6 18:02:23 UTC 2017 i686 i686 i686 GNU/Linux

1 个答案:

答案 0 :(得分:1)

对于使用Python的日常工作,即使在不受限制的环境中,也可以使用“virtualenv”,它在用户控制的文件夹中创建一个新的Python环境,然后您就可以安装任何Python包了想要,无论系统可用什么。由于您有一个可用的编译环境,几乎适用于所有内容。

然而,tkinter本身并不适用于pip安装,因为它预计将出现在核心Python stdlib上(大约是时候Linux发行版会停止让它离开的想法 - 它不像它使用的5MB最大值与默认情况下不存在的危害相比,有所作为。即使自定义Python包并创建新包也可能比从任何人那里节省更多的努力。

无论如何,你可以尝试在你的本地目录中构建Python - 如果系统有一个编译器,它可能只是工作:从python.org下载tar.gz源代码,解压缩它然后执行“./configure --prefix=/home/user/python36 “。现在,即使有效,也可以将virtualenvs用于您的项目。

否则,您应该尝试为特定的Linux发行版找到预编译的Python,或者,如果您可以在您控制的不同系统根目录中安装Python和其他软件包,请参阅软件包管理器的示例。

另一种选择,如果您有另一台可控制的Linux,将其构建为USB记忆棒,并且在大学实验室中,只需使用ln命令将其链接到您构建它的目标目录。 - 这可以作为便携式手杖。