前言

二級(jí)Python第10章《第三方庫(kù)概覽》中介紹了三個(gè)庫(kù):

  • PyInstaller
  • Jieba
  • WordCloud
    其中,前兩個(gè)庫(kù)是必須掌握的,第三個(gè)庫(kù)是可選學(xué)習(xí)。因此,編程題中肯定不會(huì)出現(xiàn)對(duì)于詞云庫(kù)WordCloud的考察要求。但是,從實(shí)際應(yīng)用開發(fā)角度講,這個(gè)庫(kù)是學(xué)習(xí)時(shí)下Python大數(shù)據(jù)編程必須要掌握的——當(dāng)然也是比較簡(jiǎn)單的。

安裝問題

在安裝WordCloud過程中遇到失敗與成功,特別記錄于下。

家中機(jī)器上的失敗安裝

遺憾的是,家中筆記本上安裝的是WINDOWS 7 32位,且費(fèi)了很多勁都無(wú)法安裝SP1。想轉(zhuǎn)換成64位,無(wú)奈家中機(jī)器上費(fèi)了好多勁安裝了大量軟件,又舍不得,只好作罷,保留現(xiàn)有系統(tǒng)。結(jié)果是:

使用命令:
pip install wordcloud
運(yùn)行錯(cuò)誤,顯示要求必須先安裝python 3.5及以上版本。

另一個(gè)嚴(yán)重問題,在無(wú)SP1的WIN7 32位環(huán)境下無(wú)法安裝Python 3.5及以上版本。因此,理想安裝是WINDOWS 7 64位SP1。

還好,全國(guó)二Python建議環(huán)境是Python 3.4.2-3.5.4。而且,相關(guān)考試內(nèi)容都能夠在這樣的環(huán)境下提供,便考試無(wú)憂了,只是想擴(kuò)展安裝一些內(nèi)容的話,只要“望洋興嘆”了。

此外,我還試著從https://pypi.org/project/wordcloud/#files處找到一個(gè)針對(duì)Python 3.4版本的WORDCLOUD的.whl壓縮文件(相當(dāng)于.rar或者.zip)文件。這種文件的安裝要求先安裝wheel這個(gè)第三方小庫(kù),它的安裝很容易,只是也無(wú)法安裝——要求是WINDOWS 64位系統(tǒng)。

辦公室機(jī)器上的成功安裝

還好,辦公室機(jī)器上是正統(tǒng)的WINDOWS 7 64 bits SP1,所以直接安裝了Python 3.5.4。說明,這個(gè)版本的安裝可能要求VC++相應(yīng)的動(dòng)態(tài)鏈接庫(kù),根據(jù)需要提示安裝即可。(因?yàn)槲业臋C(jī)器上早已安裝了高版本的VS,自然躲過這一劫啦)

首先,安裝Python 3.5.4非常順利!
安裝信心滿滿的運(yùn)行如下命令:

pip install wordcloud

結(jié)果是失敗!!!???
提示如下:
二級(jí)Python詞云包安裝問題

這種提示自然是天下第一大模糊的提示了。但是,分析來(lái)分析去,我的系統(tǒng)環(huán)境應(yīng)該是最典型的,Python版本也是最典型的。無(wú)奈想到了一個(gè)“曲線救國(guó)”方案。是:先安裝wheel,再安裝一個(gè).whl文件,然后在本地安裝。居然成功了(只是上面的錯(cuò)誤沒有跟蹤解決,請(qǐng)?jiān)彛。?

先安裝wheel,很簡(jiǎn)單:
pip install wheel

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

安裝的對(duì)象如下圖所示:
二級(jí)Python詞云包安裝問題_第1張圖片

然后,在本地安裝上述壓縮文件,非常順利(先跳轉(zhuǎn)到.WHL文件所在路徑下):

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

二級(jí)Python詞云包安裝問題

測(cè)試一下

二級(jí)Python詞云包安裝問題_第2張圖片

隨便從網(wǎng)絡(luò)上抓了一把,形成一個(gè)文件,試驗(yàn):

內(nèi)容是:
When I was young

我年輕的時(shí)候

I'd listen to the radio

常聽收音機(jī)
Waiting for my favorite songs

總是期待我喜愛的歌

When they played I'd sing along

伴奏聲起我會(huì)跟隨歌唱

It made me smile

笑聲在歌聲中激蕩

Those were such happy time

那真是幸福的時(shí)光

還有一些空格什么的,沒有整理。

源碼如下:

            
              #導(dǎo)入所需庫(kù)
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可以設(shè)置圖片屬性
# generate 可以對(duì)全部文本進(jìn)行自動(dòng)分詞,但是對(duì)中文支持不好
# 可以設(shè)置font_path參數(shù)來(lái)設(shè)置字體集
#background_color參數(shù)為設(shè)置背景顏色,默認(rèn)顏色為黑色

import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
wordcloud.to_file('test.png')
# 保存圖片,但是在第三模塊的例子中 圖片大小將會(huì)按照 mask 保存
            
          

有兩個(gè)地方值得注意:

第一,文本文件是以UTF-8格式保存的。
第二,運(yùn)行上述代碼前,需要先安裝一個(gè)第三方圖形庫(kù),很容易:

pip install matplotlib