从CentOS安装完成到生成词云python的实例

yipeiwu_com6年前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折,但是最后还是成功了!!!看看源代码目录下的词云图!

效果图如下:

image

以上这篇从CentOS安装完成到生成词云python的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中PS 图像调整算法原理之亮度调整

亮度调整 非线性亮度调整: 对于R,G,B三个通道,每个通道增加相同的增量。 线性亮度调整: 利用HSL颜色空间,通过只对其L(亮度)部分调整,可达到图像亮度的线性调整。但是,RGB和H...

利用Python开发微信支付的注意事项

利用Python开发微信支付的注意事项

前言 微信支付是由微信及财付通联合推出的移动支付创新产品。如今,随着微信支付的全面开放,相关需求也越来越多,很多开发人员进行微信支付开发及商家申请微信支付时,面临着诸多疑惑。 要想开发顺...

使用OpCode绕过Python沙箱的方法详解

0x01 OpCode opcode又称为操作码,是将python源代码进行编译之后的结果,python虚拟机无法直接执行human-readable的源代码,因此python编译器第...

python list多级排序知识点总结

在python3的sorted中去掉了cmp参数,转而推荐“key+lambda”的方式来排序。 如果需要对python的list进行多级排序。有如下的数据: list_num =...

django2用iframe标签完成网页内嵌播放b站视频功能

django2用iframe标签完成网页内嵌播放b站视频功能

前言: 给自己的网站中加入视频资源,有两种方法,一种是用iframe标签引用外站资源,另一种则使用video标签,获取站内资源进行视频播放。其中前者顾名思义,是将视频资源上传到视频网站...