Python依存関係を手作業で解消するのが面倒だったのでPythonにやってもらうことしました。「退屈なことはPythonにやらせよう」ですね。環境はUbuntuを想定しています。いえ高度なヤツは技量的に無理だったのでaptとpipで簡単にインストールできるものだけですが。自動インストールスクリプト外部コマンド確認(whichみたいな)Qiitaのこちらの方の記事が大変参考になりました。Python3.3以降ならshutilモジュールのwhich関数が利用できるようです。使用感もLinuxコマンドのものに近く、与えられたコマンドが存在すればそのパスを、無ければNoneを返します。shutil.which('which')'/usr/bin/which'debパッケージのインストール確認コマンド名とパッケージ名が異なる場合、上の方法だと少し都合が悪いため、パッケージ名で直接インストールの有無を確認する方法も調べました。-s」コマンドの終了ステータスを利用することにしました。残念ながらこれも良い方法を見つけられなかったので、単純にpythonコマンドの-cオプションを使用してimportを実行し終了ステータスを調べることにしました。retval0importが成功すると終了ステータスは0になりますが、失敗するとModuleNotFoundErrorが発生し終了ステータスが1になるのでインストールの確認に利用することができます。エラーメッセージが若干うるさいですが実害がないのでとりあえず放置することにしました。自動インストールスクリプト上の内容を踏まえて自動インストールスクリプトを作成してみました。configparserを利用して、aptでインストールするdebパッケージ名とpipでインストールするpythonモジュール名をセクションごとに分けて記載したconfigファイルを受け取るようにしました。以下のような構造です。module]module1...上のファイルに書かれたパッケージまたはモジュールのインストールの有無をスクリプト内で確認し、無ければそのままインストールコマンドを実行します。install(conf)最後までお読みいただきありがとうございました。»プロフィール取り留めのないブログですがお役に立てれば幸いです。(7)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。