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

Python 函数无法在py2exe编译后打开文件,python,py2exe,rdkit,Python,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.

我正在使用

在使用
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')`
警告:无法从目录加载字体度量
C:\pythonApp\dist\library.zip\rd
kit\sping\PIL\pilfonts
回溯(最近一次呼叫最后一次):
文件“app.py”,第470行,在
img=绘制钼图像(第[i]部分)
文件“rdkit\Chem\Draw\\ uuuu init\ uuuuu.pyc”,第124行,在MolToImage中
文件“rdkit\Chem\Draw\MolDrawing.pyc”,第536行,在AddMol中
文件“rdkit\Chem\Draw\MolDrawing.pyc”,第351行,在drawLabel中
文件“rdkit\Chem\Draw\spingCanvas.pyc”,第74行,在addCanvasText中
文件“rdkit\sping\PIL\pidPIL.pyc”,第333行,以抽绳形式
ValueError:错误字体:字体(12,0,0,0,'helvetica')`
如果我将这些文件放入
library.zip
(到
\rdkit\sping\PIL\pilfonts
)或只放入
dist
文件夹并将路径更改为有效路径,则没有区别;应用程序仍然无法打开
metrics.dat


如果没有
py2exe
转换,一切都能正常工作。

您是否在setup.py中使用“data\u files”来包含pilfonts文件夹

例如,沿着这些路线的东西:

setup(

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

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

我尝试过你的方法,但也没有任何结果。pidPil.py希望文件夹是什么/在哪里?添加打印/断点以解决此问题。路径正确,但应用程序无法打开该文件。我用另一种方式“修复”了它。刚刚将渲染库更改为
py2cairo
。没有
PIL
文件-没有问题。