当前位置: 代码迷 >> 综合 >> PyInstaller-Mac安装和使用
  详细解决方案

PyInstaller-Mac安装和使用

热度:78   发布时间:2024-01-24 08:04:00.0

安装PyInstaller:如果python是3.8.0并且pyinstaller是3.5的话就直接跳到第3步骤;否则就看第1和第2步骤。流程如下所示:
1.下载PyInstaller,这里我选择的是PyInstaller-3.5.tar.gz版本。

2.解压PyInstaller-3.5.tar.gz后使用终端定位到PyInstaller-3.5目录里面;然后使用python3 setup.py install命令来安装PyInstaller;最后使用pyinstaller -v查看版本信息来验证是否安装成功。如图所示:
在这里插入图片描述
3.由于python3.8.0结合pyinstaller3.5在打包可执行文件时会出现"TypeError: an integer is required (got type bytes)"错误,此时可以使用pip3 install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz命令来安装最新开发版。如图所示:
在这里插入图片描述使用PyInstaller:流程如下所示:
1.我现在需要对test/main.py文件生成一个具有test/main.ico图标样式的可执行文件main.app。此时就需要打开终端定位到main.py所在目录;然后执行pyinstaller -F -w -i main.ico main.py命令来生成可执行文件main.app。
main.py源码如下所示:参考pyqt5-mac安装和使用来设置pyqt5的环境。

#!/usr/bin/python3
# -*- coding: utf-8 -*-""" Py40 PyQt5 tutorialIn this example, we create a bit more complicated window layout using the QGridLayout manager.author: Jan Bodnar website: py40.com last edited: January 2015 """import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,QTextEdit, QGridLayout, QApplication)class Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):title = QLabel('Title')author = QLabel('Author')review = QLabel('Review')titleEdit = QLineEdit()authorEdit = QLineEdit()reviewEdit = QTextEdit()grid = QGridLayout()grid.setSpacing(10)grid.addWidget(title, 1, 0)grid.addWidget(titleEdit, 1, 1)grid.addWidget(author, 2, 0)grid.addWidget(authorEdit, 2, 1)grid.addWidget(review, 3, 0)grid.addWidget(reviewEdit, 3, 1, 5, 1)self.setLayout(grid)self.setGeometry(300, 300, 350, 300)self.setWindowTitle('Review')self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())

命令执行如图所示:
在这里插入图片描述
2.使用PyInstaller成功发布可执行文件后,会在main.py文件所在的目录中生成__pycache__,build,dist,main.spec等文件或者目录。其中dist目录中会存在一个具有main.ico样式的可执行文件main.app,此时直接双击main.app就可以执行了。如图所示:
在这里插入图片描述
3.打开可执行文件main.app后发现界面变的很模糊,此时需要在main.spec里面的info_plist中加上’NSHighResolutionCapable’:'True’的配置。如图所示:
在这里插入图片描述4.使用pyinstaller -w main.spec命令重新编译main.spec文件,然后再次打开位于dist目录下的main.app时就会高清显示界面。

  相关解决方案