前言
人生苦短,我用python。學習python怎么能不搞一下詞云呢是不是(ง •̀_•́)ง
于是便有了這篇邊實踐邊記錄的筆記。
環(huán)境:VMware 12pro + CentOS7 + Python 2.7.5
安裝系統(tǒng)
之前一直用的是win10子系統(tǒng),現在試試CentOS,CentOS官網下載最新系統(tǒng)dvd版 安裝到VMware 12pro。網上很多教程。例如這個鏈接。等待安裝完成后開始。
第一個命令
用Ubuntu的時候沒有的命令會提示你安裝,感覺很簡單的事。但是到CentOS上卻變得很頭痛。
打開終端在執(zhí)行以下命令安裝python-pip時提示。
sudo yum install python-pip沒有可用軟件包 python-pip。
google了一下說是這個包在EPEL源里,要添加EPEL源才可以。
執(zhí)行下面兩個命令就安裝好了。
yum install epel-release.noarchyum install python-pip
python庫安裝
接下來安裝一個詞云wordcloud
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wordcloud截取部分提示錯誤信息 unable to execute gcc: No such file or directoryerror: command 'gcc' failed with exit status 1連gcc都沒有(ง •̀_•́)ง。先安裝gccyum install gcc
gcc裝完后繼續(xù)安裝wordcloud!又報了下面的錯誤
_posixsubprocess.c:3:20: 致命錯誤:Python.h:沒有那個文件或目錄于是需要先安裝python-develsudo 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 WordCloudtextfile = 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')執(zhí)行命令運行 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。上面的代碼我已經加好了(。・`ω´・)。
新聞熱點
疑難解答