py2exe编译后函数无法打开文件

时间:2015-08-30 23:54:05

标签: python py2exe rdkit

我正在使用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 个答案:

答案 0 :(得分:0)

您是否在setup.py中使用'data_files'来包含pilfonts文件夹?

E.g。这些方面的东西:

setup(

    data_files = [("pilfonts", glob.glob("\rdkit\sping\PIL\pilfonts\*.*"),

    options = {"py2exe": {"compressed": 2,
    # etc etc
)