【问题标题】:How to install tcl/tk on python 3.5?如何在 python 3.5 上安装 tcl/tk?
【发布时间】:2016-09-04 19:58:03
【问题描述】:

我最近从 python.org python 3.5 安装,因为包管理器不支持新版本。我已经通过它安装了pip和其他包,但是当我检查matplotlib.pyplot时,我得到了错误,它也无法导入tkinter。正如我所检查的那样,这是因为tkinter 受到其他一些应用程序(ActiveTCL)的支持。

但我无法安装它:从这里下载 http://www.activestate.com/activetcl/downloads 包,然后运行 ​​sudo ./install.sh(包中的 bash 文件),它显示了一些 GUI,已安装,但没有为 python 更改。

出于某种原因,所有问题的所有答案都是这样的:运行

sudo apt-get install python3-tk

但它不适用于 3.5。

【问题讨论】:

    标签: python-3.x tcl linux-mint


    【解决方案1】:

    这是完全错误的。 Linux Mint 18 有 Python 3.5;如果你想升级你的 Python 版本,你真的应该升级到 Mint18; Python 是许多软件的核心,因此简单地安装它的新版本将无法与来自 apt-get 的旧软件包一起使用,并且会导致灾难。

    请注意,我们首先拥有 Linux 发行版的原因是提供连贯的软件包存档,即。任何使用 Python 的 Mint 包都是为完全当前 Mint 版本中使用的 Python 构建的。如果你现在从一个包中安装 python3-tk,它也意味着可以使用 Mint 的 Python,而不是你单独安装的 Python。

    当您拥有相同库/框架的两个版本时,一个来自您的发行版,一个来自您的本地安装,您就会面临冲突的风险并获得构建每个软件的工作那应该自己使用较新的库/框架版本。这很烦人,同样,这也是你有 linux 发行版为你做这件事的原因。

    【讨论】:

    • 这是个好消息,我不知道。我完全理解包管理器文件仅适用于它自己的应用程序。为什么你不这么认为?而且问题很简单,即使mint 18支持3.5,将来会做新的python,mint 18不支持,以此类推。所以最好知道如何做这种事情。
    • 重点是“如何做这些事情”是:为您的非发行版本构建一个单独的前缀,并将所有内容分开。这不是你通常会做的事情。每当您拥有同一个库/框架的两个版本时,一个来自您的发行版,一个来自您的本地安装,您就会面临冲突的风险并获得构建应该使用的每个软件的工作您自己的新库/框架版本。这很烦人,同样,这也是你有 linux 发行版为你做这件事的原因。
    • 这不是通常会做的事情,但是知道如何做是有用的。
    • 好了,你已经知道了:python 的 TK 绑定需要由你从源代码重建。如何做到这一点始终取决于您正在重建的软件。
    【解决方案2】:

    您需要安装ActiveTcl 8.6,(重新)安装Python 3.5并安装Matplotlib 1.5.3

    关键是安装ActiveTcl后Python的重新配置。

    让我们一步一步来。

    照常安装ActiveTcl

    cd path/to/activetcl
    bash install.sh
    

    假设您已在文件夹 /opt/ActiveTcl-8.6 中安装了 ActiveTcl(默认安装程序选择)。

    您应该如下配置和安装Python

    cd path/to/python
    
    ./configure --with-ensurepip --with-tcltk-includes='-I/opt/ActiveTcl-8.6/include' 
       --with-tcltk-libs='/opt/ActiveTcl-8.6/lib/libtcl8.6.so /opt/ActiveTcl-8.6/lib/libtk8.6.so'
    
    ./make
    ./make test
    ./make install
    

    验证配置是否正确在 Python shell 中导入 tkinter 模块

    >>> import tkinter
    

    最后照常安装Matplotlib

    cd path/to/matplotlib
    python setup.py build
    python setup.py install
    

    【讨论】:

    • 你可能只需要运行sudo update-python-modules -a 而不是重新安装python 3.5
    猜你喜欢
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 2013-01-22
    • 2017-04-02
    相关资源
    最近更新 更多