链接:https://www.zhihu.com/question/42162071/answer/95441732

安装tkinter

tkinter是由tcl和tk两个部分组成的,所以下载tkinter的时候,要下载tcl8.6.5和tk8.6.5两部分。下载完之后分别解压tar -zxvf tcl8.6.5-src.tar.gz,tar -zxvf tk8.6.5-src.tar.gz.解压完成之后先安装tcl:

  1. cd tcl8.6.5/unix
  2. ./configure
  3. make
  4. sudo make install
    接着再安装tk:

  5. cd tk8.6.5/unix

  6. ./configyre

  7. make

  8. sudo make install

如果第4步出现类似x11/xlib.h:没有那个文件或目录,还需要多一步,需要安装sudo apt-get install libx11.dev 然后接着继续第4步。

现在应该成功安装了。输入wish 回车 info tclversion 和puts $tk_version查看版本。

修改Setup.dist文件

进入到Python解压包的目录下,注意,不是安装Python的目录,而是解压的目录,一般而言就是下载Python目录下,之前我一直在安装目录下找Modules文件夹,死活找不到。

vim Modules/Setup.dist

修改如图所示:

<img data-rawheight="649" data-rawwidth="632" src="https://pic1.zhimg.com/50/678377635936dfad518a185e877301b8_hd.jpg" class="origin_image zh-lightbox-thumb" width="632" data-original="https://pic1.zhimg.com/678377635936dfad518a185e877301b8_r.jpg">

把箭头所指的行数前面的注释去掉,同时在第4个箭头处,修改tcl和tk的版本为刚才的安装版本,保持退出。

  • sudo apt-get install libreadline-dev这个必须安装,因为不安装,在Python交互中上下左右移动无法成功.

重新编译和安装Python3.5

接下来还需要重新编译和安装一遍Python,

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install python3

重新建立到python3.5的软连接即可:

ortonwu@ubuntu:/usr/bin$ sudo rm -rf /usr/bin/python
ortonwu@ubuntu:/usr/bin$ sudo ln -s /usr/bin/python3.5 /usr/bin/python
ortonwu@ubuntu:/usr/bin$ sudo rm -rf /usr/bin/pip3
ortonwu@ubuntu:/usr/bin$ sudo ln -s /usr/bin/python3.5/pip3 /usr/bin/pip3
ortonwu@ubuntu:/usr/bin$ sudo rm -rf /usr/bin/python3
ortonwu@ubuntu:/usr/bin$ sudo ln -s /usr/bin/python3.5 /usr/bin/python3
在3.6后,pip3的使用方法

On Unix-like systems use:

python3.6 -m pip install [Package_to_install]

或来到Python3.5.2的源文件目录的

  1. ./configure
  2. make
  3. sudo make install

【转】在python3.5安装tkinter的更多相关文章

  1. python安装tkinter

    python2安装tkinter sudo apt-get install python-tk python3 安装tkinter sudo apt-get install python3-tk

  2. [No00004B]Windows 下面为Python3.5安装NoteBook

    python3.5安装NoteBook,网上搜了一下教程,几乎很多转帖,或者是2.x版本的,很少有直接可以用的.自己琢磨了一下午,终于搞定了,现在贴出来.希望大家以后转帖什么的都先测试一下,互联网时代 ...

  3. python3.4安装suds

    使用suds访问webservice十分方便 python3.x安装suds会报错“No module named client” 在stackoverflow上找到了替代方法,安装suds-jurk ...

  4. python3.7安装pylint

    python3.7安装pylint之"setuptools"版本错误 借鉴:错题集(已解决):pyinstaller报错ModuleNotFoundError: No module ...

  5. Python2.X和Python3.X中Tkinter模块的文件对话框、下拉列表的不同

    Python2.X和Python3.X文件对话框.下拉列表的不同 今天初次使用Python Tkinter来做了个简单的记事本程序.发现Python2.x和Python3.x的Tkinter模块的好多 ...

  6. boost python3依赖安装

    之前写过python dlib依赖的安装,当时是使用了系统默认的python2.7安装的boost.Python,如果自己编译好python3,想安装支持python3的boost.Python也是可 ...

  7. windows python3.7安装numpy问题的解决方法

    我的是win7的系统,去python官网下载python3.7安装 CMD  #打开命令窗口 pip install numpy #在cmd中输入 提示 需要c++14.0, 解决办法: 1, 进入h ...

  8. Python3 离线安装TensorFlow包

    Python3 离线安装TensorFlow包 1,下载包 官网地址:https://pypi.org/project/tensorflow/1.1.0rc2/#files 清华镜像:https:// ...

  9. linux --- 2.常用命令 , python3, django安装

    一.常用命令 1.常识命令 ① w      显示终端连接数 ②pwd    我在哪 ③whoami      我是谁 ④which 命令        找到命令的绝对路径 2.linux 命令行的组 ...

随机推荐

  1. PAT 1035 Password

    1035 Password (20 分)   To prepare for PAT, the judge sometimes has to generate random passwords for ...

  2. CRM BP SEARCH 优化

    出于方便的目的,这边将BU_GROUP,SALE_ORG加到了BP搜索里面,因为CRM项目推广了很多国家,每个国家一个SALE ORG,而标准的BP HEADER ADV SEARCH里竟然没有BU_ ...

  3. 类似“未能加载文件或程序集“tesseractengine3”或它的某一个依赖项”等一些问题的解决方案

    有些时候我们引用了一些32位的dll,结果就会出现类似“未能加载文件或程序集“tesseractengine3”或它的某一个依赖项”这样的问题,原因是IIS的应用程序池的设置中默认是不启用32位的应用 ...

  4. NOSQL -- mongoDB的了解与安装(Wins10)

    NOSQL -- mongoDB的了解与安装 首先看看什么是nosql: 我的理解:非关系型数据库,大多是以map形式存储,map<key,value>,适合存储,查询.redis也是no ...

  5. Units about ASM

    1.ASM Striping and Mirroring:ASM supports two levels of striping: fine striping and coarse striping. ...

  6. 微信PC客户端无法发送图片,怎么解决?

    今天登陆电脑的微信客户端,无法发送截图图片,该怎么办? 解决方法 1.在任务栏找到程序,右键找到设置

  7. Linux 第一周作业

    [](http://images2017.cnblogs.com/blog/1249774/201710/1249774-20171001234038872-10d31233192.pngd

  8. 逆袭之旅DAY20.xia.师父指导.数据类型

    2018-07-16  09:35:57 基础是王道 从码农--软件工程师--软件架构师 String 首字母大写,特殊引用类型,常量类 二.数组 存钱罐(只能放钱) 数据兼容 数组的长度(定义后长度 ...

  9. 4.3 if-else语句使用

    Q:对输入的成绩进行登记划分. #include<iostream> #include<cstdio> using namespace std; int main() { in ...

  10. Java使用wait() notify()方法操作共享资源

    Java多个线程共享资源: 1)wait().notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写. 2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线 ...