前言

二级Python第10章《第三方库概览》中介绍了三个库:

  • PyInstaller
  • Jieba
  • WordCloud
    其中,前两个库是必须掌握的,第三个库是可选学习。因此,编程题中肯定不会出现对于词云库WordCloud的考察要求。但是,从实际应用开发角度讲,这个库是学习时下Python大数据编程必须要掌握的——当然也是比较简单的。

安装问题

在安装WordCloud过程中遇到失败与成功,特别记录于下。

家中机器上的失败安装

遗憾的是,家中笔记本上安装的是WINDOWS 7 32位,且费了很多劲都无法安装SP1。想转换成64位,无奈家中机器上费了好多劲安装了大量软件,又舍不得,只好作罢,保留现有系统。结果是:

使用命令:
pip install wordcloud
运行错误,显示要求必须先安装python 3.5及以上版本。

另一个严重问题,在无SP1的WIN7 32位环境下无法安装Python 3.5及以上版本。因此,理想安装是WINDOWS 7 64位SP1。

还好,全国二Python建议环境是Python 3.4.2-3.5.4。而且,相关考试内容都能够在这样的环境下提供,便考试无忧了,只是想扩展安装一些内容的话,只要“望洋兴叹”了。

此外,我还试着从https://pypi.org/project/wordcloud/#files处找到一个针对Python 3.4版本的WORDCLOUD的.whl压缩文件(相当于.rar或者.zip)文件。这种文件的安装要求先安装wheel这个第三方小库,它的安装很容易,只是也无法安装——要求是WINDOWS 64位系统。

办公室机器上的成功安装

还好,办公室机器上是正统的WINDOWS 7 64 bits SP1,所以直接安装了Python 3.5.4。说明,这个版本的安装可能要求VC++相应的动态链接库,根据需要提示安装即可。(因为我的机器上早已安装了高版本的VS,自然躲过这一劫啦)

首先,安装Python 3.5.4非常顺利!
安装信心满满的运行如下命令:

pip install wordcloud

结果是失败!!!???
提示如下:
二级Python词云包安装问题

这种提示自然是天下第一大模糊的提示了。但是,分析来分析去,我的系统环境应该是最典型的,Python版本也是最典型的。无奈想到了一个“曲线救国”方案。是:先安装wheel,再安装一个.whl文件,然后在本地安装。居然成功了(只是上面的错误没有跟踪解决,请原谅!)

先安装wheel,很简单:
pip install wheel

再下载.whl文件,地址是:
https://pypi.org/project/wordcloud/#files

安装的对象如下图所示:
二级Python词云包安装问题_第1张图片

然后,在本地安装上述压缩文件,非常顺利(先跳转到.WHL文件所在路径下):

pip install pip install wordcloud-1.5.0-cp35-cp35m-win_amd64.whl

二级Python词云包安装问题

测试一下

二级Python词云包安装问题_第2张图片

随便从网络上抓了一把,形成一个文件,试验:

内容是:
When I was young

我年轻的时候

I'd listen to the radio

常听收音机
Waiting for my favorite songs

总是期待我喜爱的歌

When they played I'd sing along

伴奏声起我会跟随歌唱

It made me smile

笑声在歌声中激荡

Those were such happy time

那真是幸福的时光

还有一些空格什么的,没有整理。

源码如下:

            
              #导入所需库
from wordcloud import WordCloud
f = open('texten.txt','r',encoding='UTF-8').read()
wordcloud = WordCloud(background_color="white",width=1000, height=860, margin=2).generate(f)

# width,height,margin可以设置图片属性
# generate 可以对全部文本进行自动分词,但是对中文支持不好
# 可以设置font_path参数来设置字体集
#background_color参数为设置背景颜色,默认颜色为黑色

import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
wordcloud.to_file('test.png')
# 保存图片,但是在第三模块的例子中 图片大小将会按照 mask 保存
            
          

有两个地方值得注意:

第一,文本文件是以UTF-8格式保存的。
第二,运行上述代码前,需要先安装一个第三方图形库,很容易:

pip install matplotlib