初学python编程,想用python写一个生成词云的功能,并将这个功能打包成可执行文件给C++调用,用的工具是Mac版的PyCharm和pyinstaller,只打包一个输出hello world的时候没有问题,生成的文件可以正常执行,但是打包我的代码时可以正常打包,不能运行
import numpy as np
import pandas as pd
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
from PIL import Image
def draw_cloud(read_name):
image = Image.open('/Users/yang_a_fan/Desktop/China.jpg') # 作为背景轮廓图
graph = np.array(image)
# 参数分别是指定字体、背景颜色、最大的词的大小、使用给定图作为背景形状
wc = WordCloud( background_color='black', max_words=100, mask=graph)
fp = pd.read_csv(read_name, encoding='gbk') # 读取词频文件, 因为要显示中文,故编码为gbk
name = list(fp.name) # 词
value = fp.val # 词的频率
for i in range(len(name)):
name[i] = str(name[i])
dic = dict(zip(name, value)) # 词频以字典形式存储
wc.generate_from_frequencies(dic) # 根据给定词频生成词云
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.axis("off") # 不显示坐标轴
plt.show()
wc.to_file('nsfc依托单位词云.png') # 图片命名
if __name__ == '__main__':
draw_cloud("/Users/yang_a_fan/Desktop/test.csv")
这是我工程的目录
预期运行结果
用pyinstaller打包命令
pyinstaller -F -w main.py
exe运行结果