メインコンテンツに移動

実行ファイル(exe)にする

それをすることが目的ではないが、職場人にPython使ってみて、といって使うやつは99%居ない。みんな自分ことで精いっぱい、上司がクソだから仕方ないことではあるが、クソでないときからそうだったから、これは本質だな。

exeファイルにするということは、使うステップの足掛かりになるともいえる。これは本質ではない。

pyInstaller

Open Terminalして、conda install pyinstaller

pyinstallerをいれるとできそうである。というか以前はこれで作ったことがある。その当時hがOpenCVを使っていたので、ファイルサイズが200MBを超えていて、起動もめっちゃ遅いし、コレないなって思った。今回はmatplotlibは使ってるが単純なグラフだからできそうな気が。

エラー発生?

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 129: invalid start byte

なんだこれ?、position=129って行かな、80行ぐらいしかないけど。コメントに漢字は使ってるけど、UTF-8だけどな。なにこれ。

            if encoding:
                #out = out.decode(encoding)
                out = out.decode(encoding, errors='ignore')
            else:

ここのページにあったものをやってみた。

https://qiita.com/mamon/items/01e5dc5c24cf9e81b689

だけど、どうかな・・・

一応、進んでるみたいだけど、時間かかるなぁ。終わらないけいど。

終わったら、exeファイルはなく、pkgファイルができていた、これMacかと思ったけど、Macでも実行できなかった。どうも、違うようだった、distフォルダの中にexeがあった、でもこれで実行しても、Window開いたままで固まった。もうわからんな。だから、Python嫌い。

cx_Freezeを試す

今度は、cx_Freezesを試してみる、こちらの場合は、一つのパッケージファイルにならないらしいが、どうでもいいや。

condaで探せないというので、pip install cx_Freeze したら、setup.pyというファイルを作るらしい。こいつをbuildオプション付けてpythonで実行するとできる模様だ。

# coding: utf-8
# cx_Freeze 用セットアップファイル
 
import sys
from cx_Freeze import setup, Executable
 
base = None

# GUI=有効, CUI=無効 にする
if sys.platform == 'win32' : base = 'Win32GUI'
 
# exe にしたい python ファイルを指定
exe = Executable(script = 'fuse2.py',
                 base = base)
 
# セットアップ
setup(name = 'fuse2',
      version = '0.1',
      description = 'converter',
      executables = [exe])

 

しかし、実行しても何も起こらんね。だめだ。

 

 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。