別にインストーラ版使えば良くね?
そう思った貴方!!そのとーーーーーーりーーーー!!!
以下の精神がない方は素直にインストーラ版使ってください。
そのほうがネットで情報探すのも楽だし何よりつまづく事ほとんどないはず。
なんでEmbeded版使うの?
理由は以下2つ
①開発環境をイチから構築してこそ三流くんの鏡
②会社の環境でレジストリ荒れると警告食らう
一番の理由は①、これくらいできなきゃ開発者名乗る資格なし
そして個人的には②の理由も結構致命的。違法ソフト呼ばわりされるのが迷惑なのでインストールはなるべくしたくない、ってことです。
但し、インストーラ版にしか含まれてないフォルダはなんとか取り出すしかないです……標準装備してくれよ…
動作環境
OS:Windows 11 Pro 21H2
Python Version:Python 3.10.4
PCスペックは皆さんが使用しているマシンより間違いなく性能低いです。
構築してみよう
まずは、Python公式サイトからEmbeded版をDLしましょう。
ついでに同じバージョンのInstaller版もDLしましょう。
※2022年4月1日時点での最新版は3.10.4
Python公式DLリンク
ダウンロードしたら解凍しましょう
ワタクシ三流くん以上の皆さんはわかってると思いますがフォルダ名にバージョン表記の「.」があると色々と面倒なので取っちゃうか別のファイル名に直すこと。
解凍したフォルダの中から「python310.zip」を探し出し解凍する。
ついでにフォルダ名を「python310.zip」に変更する。
パスを通しましょう(フルパス運用する人は読み飛ばし!)
以下二行を設定
{pythonフォルダが置いてある階層}{Pythonのフォルダ名}
{pythonフォルダが置いてある階層}{Pythonのフォルダ名}\Scripts
Installer版を起動しましょう。
「Install_launcher for all users」のチェックを外して「Customize installation」をクリック
「tcl/tk and IDLE」だけにチェックを入れて次へ
全てのチェックを外して「Customize install location」を分かりやすい場所を指定して次へ
1分程度でインストールが終わるのでクローズ
インストール先のフォルダを開き、以下のファイルをコピーして、Embeded版pythonのフォルダ直下に配置する。
↓Installer版直下にある「tcl」
↓Installer版フォルダ内\Libの直下にある「tkinter」
↓Installer版フォルダ内\DLLsの直下にある「_tkinter.pyd」「tcl86t.dll」「tk86t.dll」の3つ
↓コピーした後のEmbeded版pythonフォルダの中
Installer版はここで用済みなので「プログラムの追加と削除」からアンインストールを実行しておきましょう。
必要な機能を設定してみよう
何がともあれpipが使えないと話にならないのでpipをダウンロード
bootstrapのpip用スクリプト
pythonフォルダの中から「python310._pth」を探しメモ帳で開く
この状態から最終行の「#import site」を
python310.zip
.
# Uncomment to run site.main() automatically
#import site
#を削除して「import site」に直す
#python310.zip
.
# Uncomment to run site.main() automatically
import site
この御呪い無しで進むとpipと格闘することができる。(要するに動かない)
コマンドプロンプトを起動し、以下のように実行
C:\Users\hogehoge>python {get-pip.pyの置いてある場所のフルパス}\get-pip.py
インストールに成功すると
Successfully installed pip-22.0.4
とメッセージが表示される。
Pythonとpipの動作を確かめる為に以下のコマンドを実行してバージョンが表示されればOK
C:\Users\hogehoge>python -V
Python 3.10.4
C:\Users\hogehoge>pip -V
pip 22.0.4 from C:\Users\JNC\Desktop\Python3\lib\site-packages\pip (python 3.10)
御呪いしないと、
C:\Users\hogehoge>pip -V
Traceback (most recent call last):
File "runpy.py", line 196, in _run_module_as_main
File "runpy.py", line 86, in _run_code
File "C:\Users\hogehoge\Desktop\Python3\Scripts\pip.exe\__main__.py", line 4, in <module>
ModuleNotFoundError: No module named 'pip'
となる。
Windows標準の実行ファイル「.exe」に変換するPyinstallerをインストール
コマンドプロンプトで以下を実行
C:\Users\hogehoge>pip3 install pyinstaller
サンプルコードとかは各自ググること
フルパス利用時の簡易バッチ
パスを切らずに運用するための簡易バッチのサンプルをおいておきます。
cd /d %~dp0
rem %~dp0でBAT実行中のカレントパスを取得できる。
python.exe -m compileall temp.py
pause
cd /d %~dp0
rem %~dp0でBAT実行中のカレントパスを取得できる。
python.exe temp.py
pause
Proxy内側のPCでpipしたい場合のバッチ
社内ネットワークでproxyを越える必要がある環境でpipするときのバッチ。
set https_proxy=http://ID:パスワード@ホスト名:ポート番号
python -m pip install パッケージ名
pause