欢迎访问我的个人博客:原文链接

前言

人生苦短,我用python。学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง

于是便有了这篇边实践边记录的笔记。

环境:VMware 12pro + CentOS7 + Python 2.7.5

安装系统

之前一直用的是win10子系统,现在试试CentOS,CentOS官网下载最新系统dvd版 安装到VMware 12pro。网上很多教程。例如这个链接。等待安装完成后开始。

第一个命令

用Ubuntu的时候没有的命令会提示你安装,感觉很简单的事。但是到CentOS上却变得很头痛。

打开终端在执行以下命令安装python-pip时提示。

sudo yum install python-pip

没有可用软件包 python-pip。

google了一下说是这个包在EPEL源里,要添加EPEL源才可以。

执行下面两个命令就安装好了。

yum install epel-release.noarch 

yum install python-pip

python库安装

接下来安装一个词云wordcloud

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wordcloud

截取部分提示错误信息
unable to execute gcc: No such file or directory
error: command 'gcc' failed with exit status 1 连gcc都没有(ง •̀_•́)ง。先安装gcc
yum install gcc

gcc装完后继续安装wordcloud!又报了下面的错误

_posixsubprocess.c:3:20: 致命错误:Python.h:没有那个文件或目录

于是需要先安装python-devel

sudo yum install python-devel  #注意这里不是python-dev

CentOS 下叫做 python-devel,Ubuntu 下还是叫做 python-dev

wordcloud安装完毕

代码

生成词云一份代码,并且随便找一份英文(我在ChinaDaily找的文章 Recruiters starting to employ social media 放到 txt/word.txt中

# -*- coding: UTF-8 -*-
import matplotlib
# Force matplotlib to not use any Xwindows backend.
#matplotlib.use('Agg') from wordcloud import WordCloud textfile = open(u'txt/word.txt','r').read()
wordcloud = WordCloud(background_color="white",width=800, height=600, margin=5).generate(textfile) # width,height,margin可以设置图片属性
# generate 可以对全部文本进行自动分词,但是它对中文支持不好
#background_color参数为设置背景颜色,默认颜色为黑色 wordcloud.to_file('word.png')

执行命令运行 python clouddemo.py 报错提示

SyntaxError: Non-ASCII character '\xe5' in file clouddemo.py on line 6,
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

原因如下

Python默认是以ASCII作为编码方式的,如果在Python源码中包含了中文(或者其他非英语系的语言),此时即使你把自己编写的Python源文件以UTF-8格式保存,但实际上,这依然是不行的。

解决办法很简单,只要在文件开头加入下面代码;指定文件的编码格式为utf-8。上面的代码我已经加好了(。・`ω´・)。

# -*- coding: UTF-8 -*-

编码问题解决了。接下来重新运行。

还是报错!!!

ImportError: No module named Tkinter

首先yum list installed | grep ^tk

查看是否存在相应模块,如果不存在则通过yum install tkinter 和yum install -y tk-devel下载相应模块。

重新执行命令提示下一个错误

_tkinter.TclError: no display name and no $DISPLAY environment variable

虽然一波N折,但是最后还是成功了!!!看看源代码目录下的词云图!

效果图如下:

从CentOS安装完成到生成词云python学习日记的更多相关文章

  1. 根据词频生成词云(Python wordcloud实现)

    网上大多数词云的代码都是基于原始文本生成,这里写一个根据词频生成词云的小例子,都是基于现成的函数. 另外有个在线制作词云的网站也很不错,推荐使用:WordArt 安装词云与画图包 pip3 insta ...

  2. Python3+pdfminer+jieba+wordcloud+matplotlib生成词云(以深圳十三五规划纲要为例)

    一.各库功能说明 pdfminer----用于读取pdf文件的内容,python3安装pdfminer3k jieba----用于中文分词 wordcloud----用于生成词云 matplotlib ...

  3. python 基于 wordcloud + jieba + matplotlib 生成词云

    词云 词云是啥?词云突出一个数据可视化,酷炫.以前以为很复杂,不想python已经有成熟的工具来做词云.而我们要做的就是准备关键词数据,挑一款字体,挑一张模板图片,非常非常无脑.准备好了吗,快跟我一起 ...

  4. wordcloud + jieba 生成词云

    利用jieba库和wordcloud生成中文词云. jieba库:中文分词第三方库 分词原理: 利用中文词库,确定汉字之间的关联概率,关联概率大的生成词组 三种分词模式: 1.精确模式:把文本精确的切 ...

  5. 已知词频生成词云图(数据库到生成词云)--generate_from_frequencies(WordCloud)

    词云图是根据词出现的频率生成词云,词的字体大小表现了其频率大小. 写在前面: 用wc.generate(text)直接生成词频的方法使用很多,所以不再赘述. 但是对于根据generate_from_f ...

  6. Python 情人节超强技能 导出微信聊天记录生成词云

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Python实用宝典 PS:如有需要Python学习资料的小伙伴可 ...

  7. 【python】itchat登录微信获取好友签名并生成词云

    在知乎上看到一篇关于如何使用itchat统计微信好友男女比例并使用plt生成柱状图以及获取微信好友签名并生成词云的文章https://zhuanlan.zhihu.com/p/36361397,感觉挺 ...

  8. Python统计excel表格中文本的词频,生成词云图片

    import xlrd import jieba import pymysql import matplotlib.pylab as plt from wordcloud import WordClo ...

  9. 【python3】爬取简书评论生成词云

    一.起因: 昨天在简书上看到这么一篇文章<中国的父母,大都有毛病>,看完之后个人是比较认同作者的观点. 不过,翻了下评论,发现评论区争议颇大,基本两极化.好奇,想看看整体的评论是个什么样, ...

随机推荐

  1. IIC协议简介(笔记图片)

  2. STM32F10x -- 利用IIC协议操作AT24C02

    关于AT24C02芯片的一些参数性能可参考其他的一些相关资料.此处只贴出程序. 宏文件AT24CXX.h #ifndef _AT24CXX_H_ #define _AT24CXX_H_ #includ ...

  3. 基于nginx搭建简易的基于wcf集群的复杂均衡

    很多情况下基于wcf的复杂均衡都首选zookeeper,这样可以拥有更好的控制粒度,但zk对C# 不大友好,实现起来相对来说比较麻烦,实际情况下,如果 你的负载机制粒度很粗糙的话,优先使用nginx就 ...

  4. Android 自定义View实现QQ运动积分抽奖转盘

    因为偶尔关注QQ运动, 看到QQ运动的积分抽奖界面比较有意思,所以就尝试用自定义View实现了下,原本想通过开发者选项查看下界面的一些信息,后来发现积分抽奖界面是在WebView中展示的,应该是在H5 ...

  5. .5-Vue源码之AST(1)

    讲完了数据劫持原理和一堆初始化 现在是DOM相关的代码了 上一节是从这个函数开始的: // Line-3924 Vue.prototype._init = function(options) { // ...

  6. HTML的语法

    1,什么是HTML标记语言,他是表示网页信息的符号标记语言,特点包括: a,可以设置文本的格式,比如标题,文号,文本颜色,段落等待 b,可以简历列表 c,可以插入图像和媒体 d,可以建立表格 e,超连 ...

  7. Python Web框架篇:Django templates(模板)

    为什么用templates? views.py视图函数是用来写Python代码的,HTML可以被直接硬编码在views.py之中.如下: import datetime def current_tim ...

  8. THINKPHP中几个缓存的问题

    1.字段缓存. THINKPHP是默认开启字段缓存的.如果关闭了APPDEBUG(即在index.php中设置了这样一句话:define("APP_DEBUG","FAL ...

  9. nginx虚拟机配置(支持php)

    由于本人水平有限,以下记录仅作参考. 下面贴出我的一份正常运行的nginx服务器虚拟机配置./usr/local/nginx/conf/vhost/www.xsll.com.conf server { ...

  10. linux的特殊符号与正则表达式

    第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...