前提・実現したいこと
pyinstallerで作成したmain.appが配布先Macで動きません。
(別な配布先Macでは正常に動作したのですが…)
何か対処方法があれば知りたいです。
開発環境
macOS Catalina 10.15.7
pyenv 2.0.3
Python 3.6.7
pyinstaller 4.3
pyenvでのpythonインストールコマンド
env PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6' --enable-shared" pyenv install 3.6.7
pyinstallerでのビルド時コマンド
pyinstaller main.py --noconsole --onefile --clean --noconfirm --icon=icon.icns
動作(しなかった)環境
macOS high Sierra 10.13.6
発生している問題・エラーメッセージ
配布先Macにてmain.appをダブルクリックしても何も開かないようです。
そのMacでmain.app/Contents/MacOS/main
を直接起動した時のターミナル表示内容です。
Last login: Mon Jul 12 22:55:58 on console /Users/NobitaNobi/Desktop/main.app/Contents/MacOS/main ; exit; DoraemonNoMacBook-puro:~ NobitaNobi$ /Users/NobitaNobi/Desktop/main.app/Contents/MacOS/main ; exit; [997] Error loading Python lib '/var/folders/br/m7gx30s53hqbhcqcp4y0jcwr0000gn/T/_MEIsl98UF/Python': dlopen: dlopen(/var/folders/br/m7gx30s53hqbhcqcp4y0jcwr0000gn/T/_MEIsl98UF/Python, 10): Symbol not found: ____chkstk_darwin Referenced from: /var/folders/br/m7gx30s53hqbhcqcp4y0jcwr0000gn/T/_MEIsl98UF/libintl.8.dylib (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib in /var/folders/br/m7gx30s53hqbhcqcp4y0jcwr0000gn/T/_MEIsl98UF/libintl.8.dylib logout Saving session... ...copying shared history... ...saving history...truncating history files... ...completed. Deleting expired sessions...15 completed. [プロセスが完了しました]
main.spec
pyinstaller実行時に生成されたmain.spec
spec
1# -*- mode: python ; coding: utf-8 -*- 2 3 4block_cipher = None 5 6 7a = Analysis(['main.py'], 8 pathex=['/Users/myname/Desktop/hoge/fuga'], 9 binaries=[], 10 datas=[], 11 hiddenimports=[], 12 hookspath=[], 13 runtime_hooks=[], 14 excludes=[], 15 win_no_prefer_redirects=False, 16 win_private_assemblies=False, 17 cipher=block_cipher, 18 noarchive=False) 19pyz = PYZ(a.pure, a.zipped_data, 20 cipher=block_cipher) 21exe = EXE(pyz, 22 a.scripts, 23 a.binaries, 24 a.zipfiles, 25 a.datas, 26 [], 27 name='main', 28 debug=False, 29 bootloader_ignore_signals=False, 30 strip=False, 31 upx=True, 32 upx_exclude=[], 33 runtime_tmpdir=None, 34 console=False , icon='icon.icns') 35app = BUNDLE(exe, 36 name='main.app', 37 icon='icon.icns', 38 bundle_identifier=None) 39
main.py
元のスクリプトmain.py、冒頭のみですが
Python
1# -*- coding: utf-8 -*- 2 3import base64 4import csv 5import datetime as dt 6import glob 7import hashlib 8import hmac 9import io 10import json 11import os 12import pandas as pd 13import pathlib 14import PySimpleGUI as sg 15import random 16import requests 17from selenium import webdriver 18from selenium.webdriver.common.keys import Keys 19from selenium.webdriver.common.action_chains import ActionChains 20import shutil 21import socket 22import subprocess 23import sys 24import threading 25import time 26import traceback 27import urllib.parse 28import webbrowser 29from webdriver_manager.chrome import ChromeDriverManager 30 31#以下略 32
######さいごに
何か質問の不備や、追記した方がいいこと等ありましたらコメントいただけると幸いです。
よろしくお願いします。m(__)m
あなたの回答
tips
プレビュー