Приложение Vispy выдает FT_Exception после упаковки с помощью PyInstaller, но работает на других машинахPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Приложение Vispy выдает FT_Exception после упаковки с помощью PyInstaller, но работает на других машинах

Сообщение Anonymous »

Я работаю над проектом Python, в котором для рендеринга используется Vispy. Когда я запускаю скрипт Python (.py), все работает отлично. Я упаковал приложение в исполняемый файл (.exe) с помощью PyInstaller, и исполняемый файл отлично работает на других компьютерах. Однако когда я запускаю упакованный исполняемый файл на своем компьютере, он выдает ошибку FT_Exception.
Шаги:
  • Сценарий Python запускается без каких-либо проблем при непосредственном выполнении.
  • После упаковки сценария с помощью PyInstaller .exe работает правильно на других компьютерах, но на моем происходит сбой с freetype.ft_errors.FT_Exception: FT_Exception: (невозможно открыть ресурс)

Код: Выделить всё

# -*- mode: python -*-
# ls2.spec
import sys
from PyInstaller.compat import is_win, is_darwin, is_linux
from PyInstaller.utils.hooks import collect_submodules,collect_dynamic_libs
import vispy.glsl
import vispy.io
import freetype

block_cipher = None

data_files = [
(os.path.dirname(vispy.glsl.__file__), os.path.join("vispy", "glsl")),
(os.path.join(os.path.dirname(vispy.io.__file__), "_data"), os.path.join("vispy", "io", "_data")),
(os.path.dirname(vispy.util.__file__), os.path.join("vispy", "util")),
(os.path.dirname(freetype.__file__), os.path.join("freetype")),
]

hidden_imports = [
"vispy.ext._bundled.six",
"vispy.app.backends._wx",
"vispy.app.backends._pyqt5",
"freetype"
]

if is_win:
hidden_imports += collect_submodules("encodings")

a = Analysis(
['ls2.py'],
pathex=[],
binaries=[],
datas=data_files,
hiddenimports=hidden_imports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='ls2',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='ls2',
)

Код: Выделить всё

WARNING: Traceback (most recent call last):
File "ls.py", line 229, in 
File "vispy\app\backends\_qt.py", line 626, in event
File "vispy\app\backends\_qt.py", line 626, in event
File "vispy\app\backends\_qt.py", line 928, in paintGL
File "vispy\util\event.py", line 453, in __call__
self._invoke_callback(cb, event)
File "vispy\util\event.py", line 471, in _invoke_callback
_handle_exception(self.ignore_callback_errors,
>
File "vispy\util\event.py", line 469, in _invoke_callback
cb(event)
File "vispy\scene\canvas.py", line 219, in on_draw
File "vispy\scene\canvas.py", line 278, in _draw_scene
File "vispy\scene\canvas.py", line 316, in draw_visual
File "vispy\scene\visuals.py", line 106, in draw
File "vispy\visuals\visual.py", line 668, in draw
File "vispy\visuals\visual.py", line 668, in draw
File "vispy\visuals\visual.py", line 505, in draw
File "vispy\visuals\text\text.py", line 533, in _prepare_draw
File "vispy\visuals\text\text.py", line 534, in 
File "vispy\visuals\text\text.py", line 264, in _text_to_vbo
File "vispy\visuals\text\text.py", line 81, in __getitem__
File "vispy\visuals\text\text.py", line 95, in _load_char
File "vispy\util\fonts\_freetype.py", line 50, in _load_glyph
face = _load_font(f['face'], f['bold'], f['italic'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "vispy\util\fonts\_freetype.py", line 37, in _load_font
font = Face(fname)
^^^^^^^^^^^
File "freetype\__init__.py", line 1192, in __init__
raise FT_Exception(error)
freetype.ft_errors.FT_Exception: FT_Exception:  (cannot open resource)
Почему упакованный исполняемый файл работает на других компьютерах, но не на моем? Как я могу устранить эту ошибку FT_Exception и обеспечить правильную работу исполняемого файла на моем компьютере?

Подробнее здесь: https://stackoverflow.com/questions/791 ... r-but-work
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»