【问题标题】:How to install Tkinter on linux with preinstalled python but without root privilege?如何在 Linux 上安装 Tkinter,预装 python 但没有 root 权限?
【发布时间】:2018-09-04 02:15:55
【问题描述】:

由于在大多数 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/&lt;user&gt;/.local编译部署了TCL和TK 然而最后一步python setup.py build 似乎期望,python 解释器也安装在用户目录中,这对我来说不是这样。

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

如果相关,发行版似乎是 linux mint。 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

【问题讨论】:

  • 你需要root权限来创建一个virtualenv吗?除非您使用 sudo,否则 Pip 不需要 root
  • Virtualenv 很好,但是 Tkinteri snot 在 pip AFAIK 中可用。

标签: python linux tkinter


【解决方案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,将它构建到 U 盘,然后在大学实验室,只需使用 ln 命令将它链接到你构建它的目标目录 - 即可以作为便携棒使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-11
    • 2012-05-30
    • 2013-05-29
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    相关资源
    最近更新 更多