近日在vs code做一個python詞云的練習時,編譯時出現:AttributeError: module 'wordcloud' has no attribute 'WordCloud'的提示,
python3.8環境下,已經安排wordcloud庫。
文件代碼如下:
#GovRptWordCloudv2.py
import?jieba
import?wordcloud
from?imageio?import?imread
mask?=?imread("chinamap.jpg")
excludes?=?{?}
f?=?open("新時代中國特色社會主義.txt",?"r",?encoding="utf-8")
t?=?f.read()
f.close()
ls?=?jieba.lcut(t)
txt?=?"?".join(ls)
w?=?wordcloud.WordCloud(\
????width?=?1000,?height?=?700,\
????background_color?=?"white",
????font_path?=?"msyh.ttc",?mask?=?mask
????)
w.generate(txt)
w.to_file("grwordcloudm.png")
已安裝wordcloud庫
運行
import wordcloud
c = wordcloud.WordCloud()
發生異常: AttributeError
partially initialized module 'wordcloud' has no attribute 'WordCloud' (most likely due to a circular import)
File "D:\Python\wordcloud.py", line 12, in ? ? w = wordcloud.WordCloud(\File "D:\Python\wordcloud.py", line 3, in ? ? import wordcloud
突然發現我的文件名也叫wordcloud,會不會是這個原因?馬上將文件改命wordcloud1.py,但還是提示如上的錯誤,直到最后把wordcloud.py刪除,運行正常!
看來在python開發中,要注意源碼文件在命名時,要注意不能取和庫重名。不然會出現一些看視不應該出現的錯誤。