PyInstaller-Mac安裝和使用

安裝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 tutorial

In 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時就會高清顯示界面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章