Как поместить все библиотечные (.so/.dll) файлы в подкаталог?

Я использую Pyinstaller для своего кроссплатформенного проекта и хотел бы "спрятать" все библиотечные файлы (.so/.dll) внутри подкаталога, чтобы легче было найти исполняемый файл (прямо сейчас список.so / Файлы.dll настолько длинные, что мы получили отзывы от пользователей, которые не могут их найти!)

Как я могу изменить мои файлы.spec, чтобы поместить все файлы.so /.dll в подкаталог?

(Я не хочу использовать --one-file по каким-то другим причинам)

Вот как выглядит мой файл.spec для gnu/linux (файл похож на macos и windows):

# -*- mode: python -*-

block_cipher = None

import os
cwd_str = os.getcwd()

a = Analysis(['mindfulness-at-the-computer.py'],
             pathex=[cwd_str],
             binaries=[],
             datas=[('./README.md', '.'), ('./LICENSE.txt', '.')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)

user_files_dir_str = "user_files"
a.datas += Tree('./' + user_files_dir_str, prefix=user_files_dir_str, excludes=['*.db'])
icons_dir_str = "icons"
a.datas += Tree('./' + icons_dir_str, prefix=icons_dir_str)

pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='mindfulness-at-the-computer',
          debug=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='mindfulness-at-the-computer')

Благодарен за помощь и с наилучшими пожеланиями, Tord

0 ответов

Другие вопросы по тегам