我正在将 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')
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助和亲切的问候,托德
| 归档时间: |
|
| 查看次数: |
348 次 |
| 最近记录: |