exeファイルの実行可能ファイルにパッケージ化Pythonプロジェクト(複数のファイルや素材)

A. A、単一のパッケージファイル

1.インストールモジュールpyInstallerの

2.ターミナルPycharmは、次のコマンドを入力します。 "pyInstallerの-F -w XXX.py" exeファイルを生成することができます。

CMDでは:プロジェクトディレクトリへの最初のCDと、コマンドを入力します。たとえば、次のようにpyInstallerの-F -w -ig:\ 2345Downloads \ logo.ico login.py

注意:(G:\ 2345Downloads \ logo.ico)としてのアイコンのパス。


/**
*附参数集合:

–icon=[图标路径](http://www.icontuku.com/)(pyinstaller -F --icon=my.ico XXXX.py)
-F 打包成一个exe文件
-w 小写,使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件 
-i  这里的i也是小写的,意思是忽略打包过程中遇到的错误,就是遇到错误也继续执行
*
*/


同じディレクトリdistの中にそのファイル。たくさんのファイルを生成するための-Fパラメータを指定しないが、高速で実行されています。単一のexeファイル圧縮率の後も少しあります。プラス-Fのexeファイルを生成するためのパラメータ、および遅い実行しています。

II。複数のファイルや包装材料

コマンド:(、CMDに最初のプライマリファイルを複数のファイルをパッケージ化)

1> pyInstallerの-F -w -ig:\ 2345Downloads \ logo.ico login.py

-hiddenインポートdoTest.py --hiddenインポートitemContent --hiddenインポートqueryDB.py

--hiddenインポートApplications.py --hiddenインポートmainWindow.py view.py -hiddenインポート

**解説:コマンドラインにcmdを、プロジェクトコードディレクトリに我々のプロジェクトのコードが存在するディレクトリの特定にし、CD、コードパッケージを使用。

そこは、これ以上のコードファイルの一部がメインフォルダに散在している、pyInstallerの-F -w -i後のプットは、我々は最終的にアイコンを表示する必要が絶対パス、後の最初で、プロジェクトフォルダに配置されていませんPythonのファイルは、このプロジェクトでは、いくつかの他のPythonファイル-hiddenインポートインポートを使用した後、プロジェクトのメインファイルです。

我々は、特定のフォルダにPythonのファイルのいくつかの特定の機能を入れた場合、我々は、たとえば、-pフォルダ名を使用することができます。

私たちは、** mysql.pyがあると仮定すると、我々はいくつかの処理データベースは、Pythonのファイルを置くために、SQLフォルダを作成していることを前提としてい

プロジェクトでは、材料が含まれています

1.このメソッドは、マシン上で実行することができます

プロジェクトは、画像が含まれている場合は、私たちは絵のコードで参照する必要があることは、絶対パス、相対パスではなく、絶対パス該当しない場合は、包装の過程でエラーなしとなり、だけでなく、EXEが適切にファイルを生成しますが、ときに我々をそれの実装では、エラーが要求されます。(ここではファイル内のプログラムエントリのファイル名である)スクリプトのログインを実行するために失敗し、エラーを表示する場合はEXEファイルをクリックした後、我々はディレクトリにログインすることができます報告しました。スペックファイルコンソール= Trueの場合、デフォルトでは、もしそうなら、その後、trueに設定されてFalseで、コマンドラインウィンドウにエラーメッセージが表示されます。同時に、あなたがプログラムを開くにはしたくない場合は、コンソールを表示するには、ブラックボックス、フィギュアコンソール= Trueの変更コンソール=偽

# -*- mode: python -*-
 
block_cipher = None
 
 
a = Analysis(['login.py'],
             pathex=['F:\\python_project_reveiw'],
             binaries=[],
             datas=[],
             hiddenimports=['doTest.py', 'itemContent', 'queryDB.py', 'view.py', 'Applications.py', 'mainWindow.py'],
             hookspath=[],
             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='login',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=False , icon='g:\\2345Downloads\\logo.ico')

私たちはそれらのパラメータを持っていたら、私たちは、次のコマンドを詰めlogin.specに直接提出することができますpyInstallerの-F -w -ig:\ 2345Downloads \ logo.ico login.spec

最後に、結果のEXEファイルは、以前に生成されたEXEファイルを置き換えます。

ご注意:32ビット、64ビットのオペレーティングシステムは、パッケージexeファイルのpythonを実行することはできません。

任意のコンピュータ2.(絵を)実行することができます

1.Pic2py.py:の.pyに絵

import base64
 
def pic2py(picture_names, py_name):
    """
    将图像文件转换为py文件
    :param picture_name:
    :return:
    """
    write_data = []
    for picture_name in picture_names:
	    filename = picture_name.replace('.', '_')
	    open_pic = open("%s" % picture_name, 'rb')
	    b64str = base64.b64encode(open_pic.read())
	    open_pic.close()
	    # 注意这边b64str一定要加上.decode()
	    write_data.append('%s = "%s"\n' % (filename, b64str.decode()))

    f = open('%s.py' % py_name, 'w+')
    for data in write_data:
    	f.write(data)
    f.close()
 
if __name__ == '__main__':
    pics = ["icon.ico", "weixin.gif", "alipay.gif"]
    pic2py(pics, 'memory_pic')	 # 将pics里面的图片写到 memory_pic.py 中
    print("ok")

プログラム中2つの参照

from memory_pic import *		

def get_pic(pic_code, pic_name):
    image = open(pic_name, 'wb')
    image.write(b64decode(pic_code))
    image.close()

get_pic(icon_ico, 'icon_ico')
# 在这里使用图片 icon.ico
os.remove('icon.ico')

パッケージ化されたEXEファイルが大きすぎますか?

理由

あなたがの.pyファイルpyInstallerの使用をパッケージ化すると、それは多くの独立したライブラリはサイズが大きすぎるパッケージ.exeファイルの生成をもたらす、パック内部ながらインストールできるようになります。

ソリューション

使用pipenvはpipenvで作成した仮想環境で使用するパッケージをインストールし、その後pyInstallerのピップを使用し、仮想環境(つまり、PYファイルのインポートサードパーティのライブラリ)で使用されるライブラリの.pyファイルをインストールし、仮想Python環境を作成します。注:マシンにインストールpyInstallerのもインストール仮想環境を再入力する必要があり、またはpyInstallerのコマンドのパッケージを使用する、または実行可能.exeファイルを大量に生成します。

次のように具体的な手順は次のとおりです。

仮想環境を作成するために使用されるコマンドラインでライブラリをインストールするには1、pipenvピップコマンド

ピップpipenvをインストール

1
2.場合は、フォルダに新しい環境ファイルフォルダ、およびCDを作成する準備ができて
3、仮想環境の整備

pipenvインストール

。1
4.(以下の操作ですべての仮想環境です)仮想環境を入力してください

pipenvシェル

。1
5、インストールファイルはの.pyモジュールを使用しました

PIPインストール[モジュール]を用いるの.py

1
文書を梱包するための図6に示すように、取付pyInstallerのモジュール、の.py

ピップpyInstallerのインストール

1
pyInstallerのパッケージ化されたファイルを使用して7、

pyInstallerの-fw E:\ pipenvtest \ test.py(の.pyファイルの変更は、実際の状況に応じて)

8、結果ファイル
結果ファイルに保存されている「DIST」フォルダを、生成したディレクトリに次の時間を実行するために、ステップ7を完了した後。
リファレンス

世間の注目が急速に[いいえ]簡単なプログラミングを学ぶために、学習リソースがそれを受け取ります!(C、Java(登録商標)、データ構造、等)

ここに画像を挿入説明

公開された50元の記事 ウォンの賞賛8 ビュー3055

おすすめ

転載: blog.csdn.net/jiahuan_/article/details/104631666