0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows で Python embeddable を簡単にセットアップする

Last updated at Posted at 2024-08-14

はじめに

諸々の事情で Python embeddable をインストールすることがあるかと思いますが、いちいち同じような作業をするのが大変なので簡単にセットアップするバッチファイルを作りました。

セットアップ

setup.cmd
set ver=3.12.5
set url=https://www.python.org/ftp/python/%ver%

pushd "%~dp0"
mkdir python
pushd python

curl -O "%url%/python-%ver%-embed-amd64.zip"
tar -xzvf "python-%ver%-embed-amd64.zip"
del "python-%ver%-embed-amd64.zip"

mkdir Dlls
move *.pyd DLLs\
move lib*.dll DLLs\
move sqlite3.dll DLLs\

for %%f in (*._pth) do (
    echo import site>> %%f
    echo .\DLLs>> %%f
)
echo import sys; sys.path.append('')>python.pth

curl -O "https://bootstrap.pypa.io/get-pip.py"

echo ^@echo off > console.cmd
echo set PATH=%%~dp0;%%~dp0Scripts;%%PATH%% >> console.cmd
echo if "%%1" equ "" cmd /k >> console.cmd

echo ^@echo off > clean.cmd
echo pushd "%%~dp0Lib" >> clean.cmd
echo for /r %%%%i in (*.pyc) do del "%%%%i" >> clean.cmd

※環境により、curl の証明書が無効でダウンロードできないことがあります。その場合、下記のようにオプション ssl-no-revoke を追加してみてください。

curl --ssl-no-revoke -O "%url%/python-%ver%-embed-amd64.zip"
curl --ssl-no-revoke -O "https://bootstrap.pypa.io/get-pip.py"

使い方

上記バッチファイルを任意のフォルダで実行すると、python フォルダが作成されます。バージョンは 3.12.5 ですが、変えたい場合は var のところを変更します。あとは console.cmd を実行するとパスが通るので、python スクリプトをコマンドラインから実行します。pip を使用する場合は次のコマンドを実行します。

>python get-pip.py

clean.cmd は Lib 以下に生成されたキャッシュを削除します。

アンインストール

必要なくなったらフォルダごと削除します。インストールしたパッケージにより C:\Users\ユーザー名\ 以下に関連ファイルが生成されることがありますので注意します。

注意

pip を使用できるようにした後は、フォルダを移動してしまうと実行できなくなる場合があります。これは、Scripts 以下に生成される exe ファイルに python の絶対パスが書かれるからです。無理に対処する方法もありますが。。。

Tkinterを使用したい場合

Tkinter を使う場合は、下記サイトを参照してみてください。

必ず目を通しておいてほしいサイト

参考にしたサイト

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?