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?

More than 3 years have passed since last update.

python を実行させたい

Last updated at Posted at 2021-06-01

pythonで作ったツールを配りたい

A,exeで固める

ノートン先生が激しく反応するので、一旦諦める。
証明書が必要?

B,batを作って配る

 ひとまずこっちの方法で進める。

Bの場合必要なのはpython実行環境

B-1,個々のPCにpythonをインストールしてもらう

インストーラーでインストールしてもらう。
オプションに個性は出さないようにしてもらう。

パッケージのインストールとかあるので
bat ファイルにはそれも含めて記載しておくと良いかも。

python -m pip install Pyside2
python Z:\pythonTool\pyTool.py

ここで曲者なのが
python と py の関係
pythonLauncherをインストールしてるかしてないかで変わってしまうので統一が必要。
複数verのpytonをインストールさせるのであれば pythonLauncher有りのほうが良い気がする。

B-2,ネットワーク上にpythonを置いてそこから実行させる

ネットワークドライブ上に pythonのフォルダを作成。
この際 Python.exe と同階層にverにマッチした python.dll を置いとくといい。(python27.dll とか

python.dllがローカルに存在する場合はそちらを参照してくれるが、
ない場合はエラーになって実行できない。

bat ファイルの中身はこんな感じ

Z:\python\python.exe  Z:\pythonTool\pyTool.py

bat ファイルの場所と pyファイルの場所が一緒ならこんな感じ

Z:\python\python.exe  %~DP0pyTool.py

ネットワーク次第だろうけれど、重い。
python libの更新とか管理はしやすい
batファイルは本体は渡さずに、ショートカットを作成して配布すると管理が楽

B-3,インストール自体もbatに仕込む

インストールの個性も殺したいのでインストールもbatで自動化できないものか?
管理者権限次第ではあるけどもできる様子。

参考:
https://silentinstallhq.com/python-3-9-silent-install-how-to-guide/
https://silentinstallhq.com/python-2-7-silent-install-how-to-guide/

とりあえず実行させて、エラーが起きたらインストール実行してもう一回トライ
という流れにしてみる。

python Z:\pythonTool\pyTool.py

if %errorlevel% neq 0 (
echo "install python"
python-3.9.x.exe /quiet InstallAllUsers=1 PrependPath=1

echo "update pip"
python -m pip install update pip
echo "install pyside"
python -m pip install Pyside2
python Z:\pythonTool\pyTool.py
)

社外に配る場合にはこれはやめたほうが良い。
勝手にインストールするとか酷すぎる。人によっては承諾してくれない。

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?