top of page

[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になったりしますが、、、)。


Anaconda3 > envsに仮想環境が、その中にpython.exeがある

ちなみに、この方法だとpythonが入っているPCでは逆に既存のpythonと競合してモジュールのimportでエラーが出たりするので、sys.pathを調整してモジュールの探索先を制限してやる必要があります。



まとめ


まずはexe化を検討、どうしても無理ならば最終手段として仮想環境をフォルダごとコピーしましょう。

最新記事

すべて表示

[Python]pandas.DataFrameをjsonで出力

概要 pythonでデータ解析を行っている。解析自体はpandasを用いて行い、最終結果はpandas.DataFrameの形式で保持されている。 この結果を他のアプリケーションで利用するため、json形式でファイル出力したい。 やり方 1 pandas.DataFrameをdictionaryに変換 data = df.to_dict(orient='records') 2 ファイルに出力 wi

[Python] 条件付きでフィッティングをする

概要 フィッティングを行いたい場合、pythonならばscipy.optimize.leastsqなどでできます。 しかし、フィッティングを行う場合、フィッティングパラメータに条件を付けたい場合も多々あります。 例えば、下記のようにパラメータa、bは共に正の範囲で最適な値を求める、という感じです。 f(x, a, b)=a*x^2+b (a>0 and b>0) 今回はそんな手法についてご紹介しま

Opmerkingen


あなたの買い物をサポートする
アプリ Shop Plan

iphone6.5p2.png

​いつ何を買うかの計画を立てられるアプリです。

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

靴を大切にしよう!靴管理アプリ SHOES_KEEP

納品:iPhone6.5①.png

靴の履いた回数、お手入れ回数を管理するアプリです。

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

「後で読む」を忘れないアプリ ArticleReminder

気になった​Webサイトを登録し、指定時刻にリマインダを送れるアプリです

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png
bottom of page