从CentOS安装完成到生成词云python学习日记
欢迎访问我的个人博客:原文链接
前言
人生苦短,我用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学习日记的更多相关文章
- 根据词频生成词云(Python wordcloud实现)
网上大多数词云的代码都是基于原始文本生成,这里写一个根据词频生成词云的小例子,都是基于现成的函数. 另外有个在线制作词云的网站也很不错,推荐使用:WordArt 安装词云与画图包 pip3 insta ...
- Python3+pdfminer+jieba+wordcloud+matplotlib生成词云(以深圳十三五规划纲要为例)
一.各库功能说明 pdfminer----用于读取pdf文件的内容,python3安装pdfminer3k jieba----用于中文分词 wordcloud----用于生成词云 matplotlib ...
- python 基于 wordcloud + jieba + matplotlib 生成词云
词云 词云是啥?词云突出一个数据可视化,酷炫.以前以为很复杂,不想python已经有成熟的工具来做词云.而我们要做的就是准备关键词数据,挑一款字体,挑一张模板图片,非常非常无脑.准备好了吗,快跟我一起 ...
- wordcloud + jieba 生成词云
利用jieba库和wordcloud生成中文词云. jieba库:中文分词第三方库 分词原理: 利用中文词库,确定汉字之间的关联概率,关联概率大的生成词组 三种分词模式: 1.精确模式:把文本精确的切 ...
- 已知词频生成词云图(数据库到生成词云)--generate_from_frequencies(WordCloud)
词云图是根据词出现的频率生成词云,词的字体大小表现了其频率大小. 写在前面: 用wc.generate(text)直接生成词频的方法使用很多,所以不再赘述. 但是对于根据generate_from_f ...
- Python 情人节超强技能 导出微信聊天记录生成词云
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Python实用宝典 PS:如有需要Python学习资料的小伙伴可 ...
- 【python】itchat登录微信获取好友签名并生成词云
在知乎上看到一篇关于如何使用itchat统计微信好友男女比例并使用plt生成柱状图以及获取微信好友签名并生成词云的文章https://zhuanlan.zhihu.com/p/36361397,感觉挺 ...
- Python统计excel表格中文本的词频,生成词云图片
import xlrd import jieba import pymysql import matplotlib.pylab as plt from wordcloud import WordClo ...
- 【python3】爬取简书评论生成词云
一.起因: 昨天在简书上看到这么一篇文章<中国的父母,大都有毛病>,看完之后个人是比较认同作者的观点. 不过,翻了下评论,发现评论区争议颇大,基本两极化.好奇,想看看整体的评论是个什么样, ...
随机推荐
- C++每次读取一行字符串输入(学习笔记) (转)
1. 面向行的输入:getline()getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾. cin.getline(Arr, 20) // Arr为用来输入行的数组的名称: ...
- 什么是GUID?
定义及格式 1.全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的网络或系 ...
- Java 递归调用 recursive 给一个参数 返回一大堆
需求: 需要组装成对象多层嵌套式的 json字符串; 想到使用 递归来完成这个多层嵌套: 憋了四个小时,终于写出来了; 先看效果: 数据库中的数据: 拼装后的效果: [ EmpVO{ ename='孙 ...
- C# 剪贴板中文乱码问题
最近写了个小工具.主要功能是生成一些数据,然后一键复制,最终粘贴到需要的地方. 本来一切正常的,可是当把工具拿给朋友使用时,却被告知粘贴出来的数据是乱码.当时第一时间想到是区域问题(朋友是台湾人),不 ...
- 从json_encode过来的的字符串被返回到html页面时的解析
在工作过程中经常需要向服务器请求数据.在需要返回多个值的时候,使用json_encode处理数组然后返回是很常用的做法.如果没有指定返回数据类型的情况下,默认返回的是json格式的字符串.那么需要将这 ...
- 2456: mode
2456: mode Time Limit: 1 Sec Memory Limit: 1 MBSubmit: 4798 Solved: 2009[Submit][Status][Discuss] ...
- Tempter of the Bone
Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, ...
- inotify+rsync实现实时同步
第1章 数据实时同步介绍 1.1 什么是实时同步:如何实现实时同步 A. 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 B. 发现目录中数据产生变化,就利用rsync服务推送到 ...
- css3 滚动条出现 页面不跳动
.wrap-outer { margin-left: calc(100vw - 100%); } .wrap-outer { padding-left: calc(100vw - 100%); } ...
- Problem I: STL——多重集的插入和删除
Problem I: STL--多重集的插入和删除 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1729 Solved: 1258[Submit][ ...