Python PyInstaller找不到fonts.json

Python PyInstaller找不到fonts.json,python,json,python-2.7,pyinstaller,Python,Json,Python 2.7,Pyinstaller,我想用韩语写一个单词cloud。我的操作系统是Windows。我想将Python代码转换成可以在任何桌面上运行的exe文件。我正在尝试使用PyInstaller生成exe文件 pyinstaller.exe --onefile --icon=Pikachu.ico wordcloud.py 但我得到了这个错误: Traceback (most recent call last): File "wordcloud.py", line 6, in <module> File "

我想用韩语写一个单词cloud。我的操作系统是Windows。我想将Python代码转换成可以在任何桌面上运行的exe文件。我正在尝试使用PyInstaller生成exe文件

pyinstaller.exe --onefile --icon=Pikachu.ico wordcloud.py
但我得到了这个错误:

Traceback (most recent call last):
  File "wordcloud.py", line 6, in <module>
  File "C:\Users\Myungho Lee\Downloads\pyinstaller-develop\pyinstaller-develop\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
  File "site-packages\pytagcloud\__init__.py", line 26, in <module>
IOError: [Errno 2] No such file or directory: 'C:\\Users\\Myungho Lee\\AppData\\Local\\Temp\\_MEI67722\\pytagcloud\\fonts\\fonts.json'
Failed to execute script wordcloud
#-*- coding: utf-8 -*-

import fnmatch
import os
import random
from PyInstaller.utils.hooks import collect_data_files
import pytagcloud
import simplejson
from pytagcloud import LAYOUT_HORIZONTAL
# requires Korean font support

import csv
import pygame
def draw_cloud(tags, filename, fontname, size):
    pytagcloud.create_tag_image(tags, filename, fontname = fontname, size = size, rectangular=True, layout=LAYOUT_HORIZONTAL)


r = lambda: random.randint(0,255)
color = lambda: (r(), r(), r())
fonts = pygame.font.get_fonts()
#datas = collect_data_files('fonts')
current_dir = os.path.dirname(os.path.abspath(__file__))
current_dir = current_dir.replace('\\', '/')
csv_dir = current_dir+"/csv/"
font_path = current_dir + "/fonts/"
print font_path
FONT_CACHE = simplejson.load(open(os.path.join(font_path, 'fonts.json'), 'r'))
print FONT_CACHE
path = csv_dir
file_list = [os.path.join(dirpath, f)
    for dirpath, dirnames, files in os.walk(path)
    for f in fnmatch.filter(files, '*.csv')]

for i in range(0, len(file_list)):
    file_list[i] = file_list[i].replace('\\', '/')
    file_list[i] = file_list[i].decode('cp949').encode('utf-8')
    file_list[i] = unicode(file_list[i], 'utf-8')
    tmp_str = file_list[i].split("/")
    file_len = len(tmp_str)

for fileName in file_list:
    with open(fileName, 'rb') as csvfile:
        dic = []
        count = False
        reader = csv.reader(csvfile, delimiter = ',', quotechar = '|')
        for row in reader:
            try:
                if(int(row[2]) > 500):
                    freq = int(int(row[2]) * 0.4)
                    count = True
                elif(int(row[2]) > 400):
                    freq = int(int(row[2])*0.5)
                    count = True
                elif(int(row[2])> 300):
                    freq = int(int(row[2]) * 0.6)
                    count = False
                elif(int(row[2]) > 200):
                    freq = int(int(row[2])* 0.65)
                    count = False
                elif(int(row[2]) > 100):
                    freq = int(int(row[2]) * 0.7)
                    count = False
                else:
                    freq = int(int(row[2])* 0.75)
                    count = False
                if(count):
                    sizediv = 3
                else:
                    sizediv = 2
                dic.append({'color': color(), 'tag': unicode(row[1], 'cp949'), 'size': freq/sizediv})
            except:
                continue
    tags = dic
    if (dic[0]['size'] > 70):
        size = (600, 600)
    elif (dic[0]['size'] > 60):
        size = (550, 550)
    elif (dic[0]['size'] > 50):
        size = (450, 450)
    elif (dic[0]['size'] > 40):
        size = (400, 400)
    elif (dic[0]['size'] > 30):
        size = (350, 350)
    cloudName =  fileName.split('/csv/')[1]
    cloudName = cloudName.split('.csv')[0]

    dirName = fileName.split('/csv/')[0]
    draw_cloud(tags, dirName + '/word_cloud/'+cloudName+ '.png', FONT_CACHE[0]['name'], size)