IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> macOS pyinstaller 打包之后运行报 Error loading Python lib -> 正文阅读

[Python知识库]macOS pyinstaller 打包之后运行报 Error loading Python lib

背景

在macOS 上,用pyinstaller打包app,pyinstaller==5.1, python3.8, 因为代码都是在pycharm上,安装了虚拟环境,运行的。

问题1:

打包的时候直接在pycharm里面Terminal里运行

pyinstaller -F?controller_ui.py

打包之后运行报以下错误。

[6633] Error loading Python lib '/Users/test/Documents/xx/controller_app/build/diags_controller_ui/Python': xxcontroller_ui/Python' (no such file), '/usr/local/lib/Python' (no such file), '/usr/lib/Python' (no such file)

分析:

明显是没有把python环境打包进去。百度说是python3.8与pyinstaller不兼容换了版本也没有用。参考别的说法,在macOS把我需要的python3.8配置到了全局变量里面去。

配置方法

vim ~/.bash_profile 添加项目需要的环境,以下:

alias python=python3.8

PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin/:${PATH}"

source ~/.bash_profile

以上的基本环境是与我的虚拟环境的python指向是同一个路径,都是这个python3.8,但是包是安装在虚拟路径下。解决了找不到python问题。

接着问题2:在上面基础上打包出来的exe,运行的时候报找不到包的错误?

ModuleNotFoundError: No module named 'PyQt5'

分析 :pycharm下虚拟环境下执行的pyinstaller,并不会把虚拟环境包包进入,需要手动配置.spec文件。

在运行了一次pyinstaller -F controller_ui.py,会生成一个controller_ui.spec配置文件 ,把虚拟环境的site-pakages配置进去。

修改:

SETUP_DIR = '/Users/usernamexxx/Documents/controller_app/' #项目源码路径?

pathex=[SETUP_DIR,'/Users/usernamexxx/Documents//lib/python3.8/site-packages'],

.spec源文件:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None
SETUP_DIR = '/Users/usernamexxx/Documents/controller_app/'

a = Analysis(
    ['diags_controller_ui.py'],
    pathex=[SETUP_DIR,'/Users/usernamexxx/Documents/03env3/lib/python3.8/site-packages'],
    binaries=[],
    datas=[(SETUP_DIR + 'comm','comm'),(SETUP_DIR + 'loop_script_diags',SETUP_DIR + 'loop_script_diags'),(SETUP_DIR + 'utils','utils'),(SETUP_DIR + 'views','views')],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    [],
    name='diags_controller_ui',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)

其他问题:

问题3

PermissionError: [Errno 13] Permission denied: ‘xxxx_controller_ui.pkg'

执行时加上sudo:

?sudo pyinstaller -F controller_ui.py

问题4:not allowed: --onedir/--onefile

执行pyinstaller -F?controller_ui.spec

option(s) not allowed:
? --onedir/--onefile
makespec options not valid when a .spec file is given

解决:

新版的pyinstaller使用.spec文件打包时,不能加-F,用以下语句即可:

pyinstaller? controller_ui.spec

参考 :

mac系统通过pyinstaller打包桌面应用程序_普通网友的博客-CSDN博客_mac pyinstallerpyinstaller 支持在多个平台打包 打包命令均一样 在不同的平台打包 得到的就是对应平台的可执行文件之前小编是打包windows版本的 这个安装方式类似 装完之后 直接配置一下环境变量即可好了 现在我们介绍一下如何在mac系统上面进行打包python编写的应用程序一、首先 安装pyinstallerpip installer pyinstaller 二、安...https://blog.csdn.net/Tester_xjp/article/details/94589189?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:00:11  更:2022-08-19 19:03:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 11:42:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码