Cairosvg 与 pyinstaller “没有这样的文件或目录:”

问题描述

我正在使用 python 3.7,我想从使用“cairosvg”包的脚本创建一个可执行文件,exe 在尝试运行它时给了我这个错误

Traceback (most recent call last):
  File "testCairo.py",line 1,in <module>
  File "<frozen importlib._bootstrap>",line 983,in _find_and_load
  File "<frozen importlib._bootstrap>",line 967,in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>",line 677,in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py",line 531,in exec_module
  File "cairosvg\__init__.py",line 22,in <module>
  File "pathlib.py",line 1199,in read_text
  File "pathlib.py",line 1186,in open
  File "pathlib.py",line 1039,in _opener
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\moham\\AppData\\Local\\Temp\\_MEI135122\\cairosvg\\VERSION'
[16072] Failed to execute script testCairo

有人知道如何解决这个错误吗?

我的代码只是导入 cairosvg 如下:

import cairosvg 

print('test')

解决方法

您是否尝试在 pyinstaller 命令中包含 cairosvg 文件夹?

80978028-AEB5-45F0-AAD5-F328C4B294AF

包应该在你的python安装文件夹中,类似于:“C:\Users\AppData\Local\Programs\Python\Python37\Lib\site-packages\cairosvg”。

该命令应该将 cairosvg 包文件夹从其位置复制到您的 exe 的 dist 文件夹中。如果您更喜欢单个文件,您还可以在 pyinstaller 命令中添加“--onefile”。