BallonsTranslator
BallonsTranslator copied to clipboard
M芯片Mac利用Pyinstaller将项目打包macOS应用的一些小问题反馈
commit version:8606d37
一些小问题不影响使用,反馈下等作者有空修复
- 首次运行源码自动下载
data
数据文件,会生成data/models/pkuseg/postag.zip
和data/models/pkuseg/spacy_ontonotes.zip
两个带.zip
后缀名的空文件夹,删除后不影响程序运行,但用Pyinstaller打包后成macOS应用后,首次双击打开应用会在后台检测到缺失这两个文件夹并重新生成新的空文件夹,不确定这两个空文件夹是否为必要,第二次运行就不会重新生成空文件夹。 - 从源码运行项目成功后,再用Pyinstaller打包成macOS应用,首次双击运行应用会在后台重新下载
macos_libopencv_world.4.8.0.dylib
和macos_libpatchmatch_inpaint.dylib
这两个文件,并会同时打开两个相同的应用窗口,第二次运行恢复正常只打开一个应用窗口,这个问题在源码运行时不存在。如果用应用自动下载的dylib替换源码里面的,重新打包后报错比原先更多,首次运行连续打开5个窗口,表现如下:后台报错信息如下:
./BallonsTranslator.app/Contents/MacOS/launch
py version: 3.11.6 (main, Oct 2 2023, 13:45:54) [Clang 15.0.0 (clang-1500.0.40.1)]
py executable: /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/MacOS/launch
version: 1.4.0
branch: dev
Commit hash: <none>
Running as app, skip dependency installation
[INFO ] download_util:try_download_files:260 - downloading /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z from https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z ...
3%|██ | 80.0k/2.47M [00:00<00:03, 750kB/s]py version: 3.11.6 (main, Oct 2 2023, 13:45:54) [Clang 15.0.0 (clang-1500.0.40.1)]
py executable: /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/MacOS/launch
version: 1.4.0
branch: dev
Commit hash: <none>
Running as app, skip dependency installation
46%|█████████████████████████████▎ | 1.13M/2.47M [00:00<00:00, 2.20MB/s]
[ERROR ] download_util:try_download_files:273 - Traceback (most recent call last):
File "utils/download_util.py", line 268, in try_download_files
raise Exception(f'Mismatch between newly downloaded {savep} and pre-calculated hash: "{sha256_calculated}" <-> "{sha256_precal.lower()}"')
Exception: Mismatch between newly downloaded /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z and pre-calculated hash: "eda04892aa8b384469d09fc0898544ac6703285d2d0e110361b6b7c3c6d9da30" <-> "9f332c888be0f160dbe9f6d6887eb698a302e62f4c102a0f24359c540d5858ea"
[ERROR ] download_util:try_download_files:274 - Failed downloading macos_patchmatch_libs.7z from https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z, please manually save it to /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z
[ERROR ] prepare_local_files:download_and_check_module_files:25 - Please save these files manually to sepcified path and restart the application, otherwise <class 'modules.inpaint.base.PatchmatchInpainter'> will be unavailable.
[INFO ] launch:main:183 - QT_API: pyqt6, QT Version: 6.4.2
[WARNING] download_util:try_download_files:247 - Mismatch between local file /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z and pre-calculated hash: "eda04892aa8b384469d09fc0898544ac6703285d2d0e110361b6b7c3c6d9da30" <-> "9f332c888be0f160dbe9f6d6887eb698a302e62f4c102a0f24359c540d5858ea", it will be redownloaded...
[INFO ] download_util:try_download_files:260 - downloading /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z from https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z ...
[INFO ] launch:main:211 - set display language to zh_CN
[INFO ] module_manager:on_finish_settranslator:801 - Translator set to google
2023-11-21 10:49:23.969 launch[20905:719390] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
[INFO ] module_manager:on_finish_setocr:786 - OCR set to mit48px_ctc
[INFO ] module_manager:on_finish_setdetector:780 - Text detector set to ctd
0%| | 0.00/2.47M [00:00<?, ?B/s][INFO ] module_manager:on_finish_setinpainter:793 - Inpainter set to lama_large_512px
3%|██ | 80.0k/2.47M [00:00<00:03, 751kB/s]py version: 3.11.6 (main, Oct 2 2023, 13:45:54) [Clang 15.0.0 (clang-1500.0.40.1)]
py executable: /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/MacOS/launch
version: 1.4.0
branch: dev
Commit hash: <none>
Running as app, skip dependency installation
53%|██████████████████████████████████ | 1.31M/2.47M [00:00<00:00, 2.37MB/s]
[ERROR ] download_util:try_download_files:273 - Traceback (most recent call last):
File "utils/download_util.py", line 268, in try_download_files
raise Exception(f'Mismatch between newly downloaded {savep} and pre-calculated hash: "{sha256_calculated}" <-> "{sha256_precal.lower()}"')
Exception: Mismatch between newly downloaded /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z and pre-calculated hash: "54eac55d75f541221268f57eaddd82f0b497a95a941a10cd13c887f65b371d74" <-> "9f332c888be0f160dbe9f6d6887eb698a302e62f4c102a0f24359c540d5858ea"
[ERROR ] download_util:try_download_files:274 - Failed downloading macos_patchmatch_libs.7z from https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z, please manually save it to /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z
[ERROR ] prepare_local_files:download_and_check_module_files:25 - Please save these files manually to sepcified path and restart the application, otherwise <class 'modules.inpaint.base.PatchmatchInpainter'> will be unavailable.
[INFO ] launch:main:183 - QT_API: pyqt6, QT Version: 6.4.2
[WARNING] download_util:try_download_files:247 - Mismatch between local file /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z and pre-calculated hash: "54eac55d75f541221268f57eaddd82f0b497a95a941a10cd13c887f65b371d74" <-> "9f332c888be0f160dbe9f6d6887eb698a302e62f4c102a0f24359c540d5858ea", it will be redownloaded...
[INFO ] download_util:try_download_files:260 - downloading /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z from https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z ...
[INFO ] launch:main:211 - set display language to zh_CN
[INFO ] module_manager:on_finish_settranslator:801 - Translator set to google
2023-11-21 10:49:26.872 launch[20910:719585] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
[INFO ] module_manager:on_finish_setocr:786 - OCR set to mit48px_ctc
[INFO ] module_manager:on_finish_setdetector:780 - Text detector set to ctd
[INFO ] module_manager:on_finish_setinpainter:793 - Inpainter set to lama_large_512px
5%|███▎ | 128k/2.47M [00:00<00:02, 1.16MB/s]py version: 3.11.6 (main, Oct 2 2023, 13:45:54) [Clang 15.0.0 (clang-1500.0.40.1)]
py executable: /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/MacOS/launch
version: 1.4.0
branch: dev
Commit hash: <none>
Running as app, skip dependency installation
90%|█████████████████████████████████████████████████████████▋ | 2.22M/2.47M [00:00<00:00, 2.46MB/s]
[ERROR ] download_util:try_download_files:273 - Traceback (most recent call last):
File "utils/download_util.py", line 268, in try_download_files
raise Exception(f'Mismatch between newly downloaded {savep} and pre-calculated hash: "{sha256_calculated}" <-> "{sha256_precal.lower()}"')
Exception: Mismatch between newly downloaded /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z and pre-calculated hash: "7bd3f8ae67b465d6fa01601b02b47be82ce1d12d957c508ae2e0c01520299707" <-> "9f332c888be0f160dbe9f6d6887eb698a302e62f4c102a0f24359c540d5858ea"
[ERROR ] download_util:try_download_files:274 - Failed downloading macos_patchmatch_libs.7z from https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z, please manually save it to /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z
[ERROR ] prepare_local_files:download_and_check_module_files:25 - Please save these files manually to sepcified path and restart the application, otherwise <class 'modules.inpaint.base.PatchmatchInpainter'> will be unavailable.
[INFO ] launch:main:183 - QT_API: pyqt6, QT Version: 6.4.2
[INFO ] launch:main:211 - set display language to zh_CN
[WARNING] download_util:try_download_files:247 - Mismatch between local file /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z and pre-calculated hash: "7bd3f8ae67b465d6fa01601b02b47be82ce1d12d957c508ae2e0c01520299707" <-> "9f332c888be0f160dbe9f6d6887eb698a302e62f4c102a0f24359c540d5858ea", it will be redownloaded...
[INFO ] download_util:try_download_files:260 - downloading /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z from https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z ...
[INFO ] module_manager:on_finish_settranslator:801 - Translator set to google
2023-11-21 10:49:29.950 launch[20914:719931] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
[INFO ] module_manager:on_finish_setocr:786 - OCR set to mit48px_ctc
[INFO ] module_manager:on_finish_setdetector:780 - Text detector set to ctd
[INFO ] module_manager:on_finish_setinpainter:793 - Inpainter set to lama_large_512px
4%|██▍ | 96.0k/2.47M [00:00<00:03, 702kB/s]py version: 3.11.6 (main, Oct 2 2023, 13:45:54) [Clang 15.0.0 (clang-1500.0.40.1)]
py executable: /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/MacOS/launch
version: 1.4.0
branch: dev
Commit hash: <none>
Running as app, skip dependency installation
100%|████████████████████████████████████████████████████████████████| 2.47M/2.47M [00:00<00:00, 3.48MB/s]
[INFO ] download_util:download_and_check_files:347 - Extracting /Users/hyrulelinks/Downloads/BallonsTranslator.app/Contents/Frameworks/.btrans_cache/macos_patchmatch_libs.7z ...
[INFO ] launch:main:183 - QT_API: pyqt6, QT Version: 6.4.2
[INFO ] launch:main:211 - set display language to zh_CN
[INFO ] launch:main:183 - QT_API: pyqt6, QT Version: 6.4.2
[INFO ] module_manager:on_finish_settranslator:801 - Translator set to google
2023-11-21 10:49:33.133 launch[20919:720091] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
[INFO ] launch:main:211 - set display language to zh_CN
[INFO ] module_manager:on_finish_setocr:786 - OCR set to mit48px_ctc
[INFO ] module_manager:on_finish_settranslator:801 - Translator set to google
2023-11-21 10:49:33.688 launch[20923:720217] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
[INFO ] module_manager:on_finish_setdetector:780 - Text detector set to ctd
[INFO ] module_manager:on_finish_setinpainter:793 - Inpainter set to lama_large_512px
[INFO ] module_manager:on_finish_setocr:786 - OCR set to mit48px_ctc
[INFO ] module_manager:on_finish_setdetector:780 - Text detector set to ctd
[INFO ] module_manager:on_finish_setinpainter:793 - Inpainter set to lama_large_512px
第二次运行后又恢复正常,这个问题倒不影响使用,主要麻烦是首次运行时必须有网络,因为无法下载就报错无法启动。
- Pyinstaller打包时提示警告信息找不到
libpatchmatch
的依赖libopencv_world.408.dylib
,打包后运行应用并未发现报错信息。41906 WARNING: Library not found: could not resolve '@rpath/libopencv_world.408.dylib', dependency of '/Users/chenzhiyu/Downloads/BallonsTranslator/data/libs/macos_libpatchmatch_inpaint.dylib'.