[python] pythonが入っていないPCでpythonプログラムを実行する方法
概要
pythonで書いたプログラムを他人に使ってもらいたい場合も多いですよね。しかし、相手のPCにpythonが入っていない場合はどうしたらいいのでしょうか。そんな場合に使える方法をご紹介します。
1 exeファイルに変換
pyInstallerなどのライブラリを使えば.pyファイルをexeファイルに変換できます。exeファイルに変換してしまえばpythonが入っていなくても実行できます。
2 IronPython
IronPythonというライブラリを使えば、.netの開発環境でpythonが使えるようになります。exeファイルにビルドすることもできます。
3 仮想環境をフォルダごとコピー
基本的に1、2のどちらかを利用してもらえればいいですが、何らかの理由で不可能な場合(ossの利用に制限がある、など)、「anacondaの仮想環境のフォルダをまるごとコピーして.pyファイルと一緒に渡す」、という最終手段があります。C#プログラムにしろ、batファイルにしろ、python.exeのパスを指定して実行すると思うので、ここでこの仮想環境内のpython.exeのパスを指定します。
ただ、ルート環境をそのままコピーするとフォルダの容量が10GB以上になったりするので、必要最小限のライブラリしか入れていない仮想環境を別個作る必要があります(それでも1GBになったりしますが、、、)。

ちなみに、この方法だとpythonが入っているPCでは逆に既存のpythonと競合してモジュールのimportでエラーが出たりするので、sys.pathを調整してモジュールの探索先を制限してやる必要があります。
まとめ
まずはexe化を検討、どうしても無理ならば最終手段として仮想環境をフォルダごとコピーしましょう。
最新記事
すべて表示現象 raspberry piでfirestoreをimportしようとするとタイトルのエラーが発生。 from from firebase_admin import firestore ImportError: Failed to import the Cloud Firestore library for Python. Make sure to install the "google-clo
概要 フィッティングを行いたい場合、pythonならばscipy.optimize.leastsqなどでできます。 しかし、フィッティングを行う場合、フィッティングパラメータに条件を付けたい場合も多々あります。 例えば、下記のようにパラメータa、bは共に正の範囲で最適な値を求める、という感じです。 f(x, a, b)=a*x^2+b (a>0 and b>0) 今回はそんな手法についてご紹介しま
現象 spicy.optimizeのleastsqで最小二乗法でフィッティングをしようとしたらタイトルのエラーが発生。 from scipy import optimize import numpy as np def internalFunc1(x, plist): a=plist[0] b=plist[1] return a*x**2+b