なお、<code>f"あなたは{n} 文字を入力しました"</code>はテンプレート・リテラルです。
{{See|[[/数値入力と文字入力と出力表示#テンプレート・リテラル]]}}
=== 実行ファイル化 ===
==== Windowsの場合 ====
pythonには、実行ファイルを作る機能はあるが、しかし現状(2020年に本文を記述)では、あまり性能が良くない。
方法は下記のとおり。
まず、python 初期設定のままで入っているダウンローダーの pip を使って、pyinstaller という実行ファイル作成ソフトをダウンロードしてくる。
しかし、まずこの pip の環境変数を通さないといけない。
初期設定のままでは、環境変数が通ってないので、再インストールのため、インストーラー(「python-3.8.2-amd64.exe」 みたいな実行ファイル)を再起動し、セットアップ画面で「Modify」を選び、
「Optional Feature」はそのままで(初期設定では「pip」にチェックが入ってるハズなので)画面下にある「Next」を押して
「Add Python to environment variables」にチェックを入れる。
すると、あとは自動で環境変数を設定してくれる。
なお pythonはインストーラーの初期設定でのインストール先については、
隠しファイルの AppData\Local\Programs\Python あたりにインストールされるので、なので手動でパス設定するのは、かなり面倒くさい。
さて、まだパスを通しただけである。
この後、
pip install pyinstaller
によって、pyinstaller をインストールする。
さて、pyinstaller をインスト-ルできたとしよう。
基本的に、pyinstaller はカレントディレクトリーを基準にしたアドレスで、ファイルを読み込む。
なので、実行ファイル化をしたい .py ファイルを、まずコピーしてユーザープロファイルに持ってくる。
さて、pyinstaller を実行したあとに関連ファイルと関連フォルダーがいくつも作られるので、
もし、いきなり実行してしまうと、ユーザープロファイル内にいくつものフォルダーが作成されてしまい、とても、みづらい。
その関連ファイルをひとつのフォルダーにまとめないと、みづらい。な
なので、まず先に、マウス操作によるのフォルダー新規作成で、まとめ用のフォルダーを作っておこう。
たとえば「matome」みたいな名前でいい。
さて、コマンドプロンプトで
cd matome
で、先ほど作成した、まとめ用フォルダーに移動する。
そして、その後
pyinstaller ファイル名.py --onefile --clean
で実行すると、まとめ用フォルダーの中に「dist」フォルダーというフォルダーがあるので、その中を見ると、.exe形式の実行ファイルがある。
これが、目的の実行ファイルである。
なお、<code>--onefile</code> オプションをつけないと、実行する際に、関連ファイルがいくつも必要になる形式のexeファイルを作成してしまうが、これは目的に合わない。
なので、<code>--onefile</code> をつけよう。
また、 <code>--clean</code> は、もし.exefile 作成時に、前の設定ファイルなどが残って居たら、いったん設定を消去して作り直す、という意味。
初心者は、まず実行ファイル作成に何度か失敗するので、なるべく<code>--clean</code> をつけよう。
;注意事項
【画像は実行ファイルと同じフォルダーに】<br>
画像ファイルなどを読み込むpythonコードを.exe化したい場合、標準設定では実行ファイルに組み込んでくれない。(つまり、リソース埋め込みを、標準設定では、pyinstaller は してくれない、。)
なので、画像ファイル・画像フォルダーは、実行ファイルのあるフォルダーと同じフォルダーに必要がある。
pythonによるリソース埋め込みのための簡便な方法が無く、specファイルというものを編集しなくてはならない。
【日本語アプリのexe化は難しい。日本語はコードから除去しておく。】<br>
日本など非英語のサポート状況が、pyinstaller はあまりよくなく、コードに日本語などがあると、.exe作成の作業時にエラーを起こす場合があり、作成できない場合がよくある。
【外部ライブラリの使用が困難】<br>
また、外部ライブラリを読むこむ場合も、あまり性能が良くなく、エラーしやすい。
==== Linuxの場合 ====
python対応のオブジェクトファイル(機械語)を作る簡便な方法は無いか、あったとしてもマイナー。
Linux版の pyinstaller を実行しても、作成されるのは Windows用の実行ファイル(.exeファイル)である。
また、 pythonのコンパイルのコマンド py_compile などを実行しても、作成されるのは python 用の中間コード(.pyc 形式)である。
GCC は python には対応していない。
=== エスケープシーケンス ===
|