削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎目次: ** Python/array ''array'' 要素の型を統一した配列オブジェクト
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
101 行
なお、<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 には対応していない。
 
=== エスケープシーケンス ===