Функция не может открыть файл после компиляции py2exe
Я использую rdkit.
После сборки с помощью py2exe
когда я звоню Draw.MolToImage
В методе есть ошибка:
Warning: unable to load font metrics from dir
C:\pythonApp\dist\library.zip\rd
kit\sping\PIL\pilfonts
Traceback (most recent call last):
File "app.py", line 470, in <module>
img=Draw.MolToImage(part[i])
File "rdkit\Chem\Draw\__init__.pyc", line 124, in MolToImage
File "rdkit\Chem\Draw\MolDrawing.pyc", line 536, in AddMol
File "rdkit\Chem\Draw\MolDrawing.pyc", line 351, in _drawLabel
File "rdkit\Chem\Draw\spingCanvas.pyc", line 74, in addCanvasText
File "rdkit\sping\PIL\pidPIL.pyc", line 333, in drawString
ValueError: bad font: Font(12,0,0,0,'helvetica')`
Нет разницы, если я положу эти файлы в library.zip
(в \rdkit\sping\PIL\pilfonts
) или просто в dist
папка и изменить пути в pidPIL.py
в силе; приложение по-прежнему не может открыть metrics.dat
,
Без py2exe
конвертация, все работает отлично.
1 ответ
Используете ли вы "data_files" в вашем файле setup.py для включения папки pilfonts?
Например, что-то вроде этого:
setup(
data_files = [("pilfonts", glob.glob("\rdkit\sping\PIL\pilfonts\*.*"),
options = {"py2exe": {"compressed": 2,
# etc etc
)