Pyinstaller pyenv M1 加载 Python 库时出错

问题描述

加载 Python 库时出错

这是我执行 dist/app 文件时的错误信息。我正在使用 python 3.9.1 形式的 pyenv。脚本在 pyinstaller 文件之外工作正常。

我确实设法在 Windows 上制作了可执行文件,但我连续第二天在 macOS 上苦苦挣扎,没有找到任何解决方案。

我也试过用 python 3.9.5 这样做,但也没有用

[5359] Error loading Python lib '/var/folders/vk/s_2bhqxd1c92mj0_n117rs0w0000gn/T/_MEIktOUOi/Python': dlopen: dlopen(/var/folders/vk/s_2bhqxd1c92mj0_n117rs0w0000gn/T/_MEIktOUOi/Python,10): no suitable image found.  Did find:
    /var/folders/vk/s_2bhqxd1c92mj0_n117rs0w0000gn/T/_MEIktOUOi/Python: mach-o,but wrong architecture
    /var/folders/vk/s_2bhqxd1c92mj0_n117rs0w0000gn/T/_MEIktOUOi/Python: stat() Failed with errno=1
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

Mac 操作系统版本
macOS Big Sur 11.2.3 M1 芯片组

build.spec

gooey_root = os.path.dirname(gooey.__file__)
gooey_languages = Tree(os.path.join(gooey_root,'languages'),prefix = 'gooey/languages')
gooey_images = Tree(os.path.join(gooey_root,'images'),prefix = 'gooey/images')

from PyInstaller.utils.hooks import copy_Metadata,collect_data_files

a = Analysis(['admin_creator.py'],pathex=["/Users/dominikbak/.pyenv/shims/python"],hiddenimports=[],hookspath=None,datas = copy_Metadata("pycountry") + collect_data_files("pycountry"),runtime_hooks=None,)
pyz = PYZ(a.pure)

options = [('u',None,'OPTION'),('u','OPTION')]

exe = EXE(pyz,a.scripts,a.binaries,a.zipfiles,a.datas,options,gooey_languages,# Add them in to collected files
          gooey_images,# Same here.
          name='Admin Creator',debug=False,strip=None,upx=False,console=False,windowed=True,icon=os.path.join(gooey_root,'images','program_icon.ico'))

我在执行 pyinstaller build.spec 后得到的消息

31 INFO: Python: 3.9.1
39 INFO: Platform: macOS-11.2.3-arm64-arm-64bit
40 INFO: UPX is not available.
45 INFO: checking Tree
46 INFO: Building because root changed
46 INFO: Building Tree Tree-00.toc
47 INFO: checking Tree
47 INFO: Building because root changed
47 INFO: Building Tree Tree-01.toc
151 INFO: Extending PYTHONPATH with paths
['/Users/dominikbak/Miinto/AdminCreator','/Users/dominikbak/.pyenv/shims/python']
156 INFO: checking Analysis
165 INFO: Building because hookspath changed
165 INFO: Initializing module dependency graph...
165 INFO: Caching module graph hooks...
167 WARNING: Several hooks defined for module 'win32ctypes.core'. Please take care they do not conflict.
168 INFO: Analyzing base_library.zip ...
1257 INFO: Processing pre-find module path hook distutils from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/pre_find_module_path/hook-distutils.py'.
1257 INFO: distutils: retargeting to non-venv dir '/Users/dominikbak/.pyenv/versions/3.9.1/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9'
2616 INFO: Caching module dependency graph...
2676 INFO: running Analysis Analysis-00.toc
2679 INFO: Analyzing admin_creator.py
2987 INFO: Processing pre-safe import module hook setuptools.extern.six.moves from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-setuptools.extern.six.moves.py'.
3126 INFO: Processing pre-find module path hook site from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/pre_find_module_path/hook-site.py'.
3126 INFO: site: retargeting to fake-dir '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/fake-modules'
5007 INFO: Processing pre-safe import module hook six.moves from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-six.moves.py'.
6331 INFO: Processing pre-safe import module hook urllib3.packages.six.moves from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/pre_safe_import_module/hook-urllib3.packages.six.moves.py'.
/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py:208: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if setting is None or setting is '':
7617 INFO: Processing module hooks...
7617 INFO: Loading module hook 'hook-selenium.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/_pyinstaller_hooks_contrib/hooks/stdhooks'...
7633 INFO: Loading module hook 'hook-gooey.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/_pyinstaller_hooks_contrib/hooks/stdhooks'...
7663 INFO: Loading module hook 'hook-sqlite3.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
7690 INFO: Loading module hook 'hook-pkg_resources.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
7863 INFO: Processing pre-safe import module hook win32com from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/_pyinstaller_hooks_contrib/hooks/pre_safe_import_module/hook-win32com.py'.
7864 WARNING: Hidden import "pkg_resources.py2_warn" not found!
7864 WARNING: Hidden import "pkg_resources.markers" not found!
7865 INFO: Loading module hook 'hook-pandas.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8223 INFO: Loading module hook 'hook-xml.etree.cElementTree.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8224 INFO: Loading module hook 'hook-pytz.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8254 INFO: Loading module hook 'hook-lib2to3.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8269 INFO: Loading module hook 'hook-_tkinter.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8272 INFO: Not collecting Tcl/Tk data - either python is using macOS' system Tcl/Tk framework,or Tcl/Tk data directories Could not be found.
8272 INFO: Loading module hook 'hook-encodings.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8300 INFO: Loading module hook 'hook-PIL.ImageFilter.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8303 INFO: Loading module hook 'hook-distutils.util.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8304 INFO: Loading module hook 'hook-PIL.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8305 INFO: Import to be excluded not found: 'FixTk'
8307 INFO: Loading module hook 'hook-setuptools.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/setuptools/distutils_patch.py:25: UserWarning: distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.
  warnings.warn(
8531 INFO: Loading module hook 'hook-xml.dom.domreg.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8532 INFO: Loading module hook 'hook-PIL.Image.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8686 INFO: Loading module hook 'hook-pickle.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8688 INFO: Loading module hook 'hook-heapq.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8689 INFO: Loading module hook 'hook-difflib.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8691 INFO: Loading module hook 'hook-multiprocessing.util.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8692 INFO: Loading module hook 'hook-sysconfig.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8696 INFO: Loading module hook 'hook-xml.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8696 INFO: Loading module hook 'hook-numpy.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8717 INFO: Import to be excluded not found: 'f2py'
8721 INFO: Loading module hook 'hook-distutils.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8721 INFO: Loading module hook 'hook-numpy._pytesttester.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8723 INFO: Loading module hook 'hook-PIL.SpiderImagePlugin.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8723 INFO: Import to be excluded not found: 'FixTk'
8724 INFO: Loading module hook 'hook-setuptools.msvc.py' from '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks'...
8748 INFO: Looking for ctypes DLLs
8782 WARNING: library user32 required via ctypes not found
8784 WARNING: library msvcrt required via ctypes not found
8795 INFO: Analyzing run-time hooks ...
8798 INFO: Including run-time hook '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/rthooks/pyi_rth_multiprocessing.py'
8801 INFO: Including run-time hook '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/rthooks/pyi_rth__tkinter.py'
8801 INFO: Including run-time hook '/Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pkgres.py'
8810 INFO: Looking for dynamic libraries
8926 INFO: Looking for eggs
8926 INFO: Using Python library /Users/dominikbak/.pyenv/versions/3.9.1/Library/Frameworks/Python.framework/Versions/3.9/Python
8931 INFO: Warnings written to /Users/dominikbak/Miinto/AdminCreator/build/build/warn-build.txt
8968 INFO: Graph cross-reference written to /Users/dominikbak/Miinto/AdminCreator/build/build/xref-build.html
8988 INFO: Appending 'datas' from .spec
9002 INFO: checking PYZ
9008 INFO: Building because toc changed
9008 INFO: Building PYZ (ZlibArchive) /Users/dominikbak/Miinto/AdminCreator/build/build/PYZ-00.pyz
9670 INFO: Building PYZ (ZlibArchive) /Users/dominikbak/Miinto/AdminCreator/build/build/PYZ-00.pyz completed successfully.
9683 INFO: checking PKG
9691 INFO: Building because toc changed
9691 INFO: Building PKG (CArchive) PKG-00.pkg
20526 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
20545 INFO: Bootloader /Users/dominikbak/.pyenv/versions/3.9.1/envs/env/lib/python3.9/site-packages/PyInstaller/bootloader/Darwin-64bit-arm/runw
20545 INFO: checking EXE
20553 INFO: Building because icon changed
20553 INFO: Building EXE from EXE-00.toc
20553 INFO: Appending archive to EXE /Users/dominikbak/Miinto/AdminCreator/dist/Admin Creator
20580 INFO: Fixing EXE for code signing /Users/dominikbak/Miinto/AdminCreator/dist/Admin Creator
20581 INFO: Building EXE from EXE-00.toc completed successfully.```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)