【Pythonサンプルコード】Jupyter Labからのコマンドライン操作とバージョン表記無し版『requirements.txt』の書き出し
Pythonコードからのコマンドライン操作
今回はPythonコードからコマンドラインを実行する方法と、それを利用したバージョン表記の無し版「requirements.txt」の作例をご紹介したいと思います。
コマンドラインを使うには『os.system』を使用する
コマンドラインを使うにはPythonに最初から入っているosモジュールを使用します。
os.system('コマンド')
サンプルコード
import os os.system('pip list')
os.system()を使うことで、pipのアップデートや書き出しなどの操作もPython側から行うことが出来るようになります。
『requirements.txt』の書き出し
次はpythonのパッケージ環境をまるごと書き出した『requirements.txt』の作成と、書き出したrequirements.txtからバージョン表記を削除するサンプルコードになります
import os # requirements.txtの書き出し os.system('pip freeze > requirements.txt') # バージョン表記の削除 with open("requirements.txt", mode='r',encoding="utf-8") as f: pkg_list = f.readlines() non_version_list="" for pkg in pkg_list: index = pkg.find("=") non_version_list = non_version_list + pkg[0:index] + "\n" # バージョン表記の無し版の書き出し with open("requirements_non_version.txt", mode='w',encoding="utf-8") as f: f.write(non_version_list)
上記コードを実行すると、カレントフォルダ内に『requirements.txt』と『requirements_non_version.txt』のテキストファイルが生成されます。
(なおバージョン表記削除版を作ったのはwin10で書き出したバージョン表記付きrequirements.txtをLinux環境に持っていくとエラーが出まくったため)