pipenv 環境でのコマンドを直接実行する

これ自体は pipenv shell の引数として実行したいコマンドを指定すれば良いだけです。本ブログでは tinkerer を使っているので、 tinker コマンドを実行するには、

$ pipenv install Tinkerer
$ pipenv shell "tinker -p 'blog title'"

とすれば、 ブログの投稿用ファイルを生成 できます。

ただし、これには一つ問題がありpipenv shell の環境に入ったままになってしまうことです。 例えば、シェルスクリプトやMakefileで実行する場合、pipenv shell 環境に入ったままになるので、スクリプト実行時のシェル環境を想定していると期待通りの結果にならない可能性もあります。

で、これを解決するには単純に下記のようにすれば、コマンド実行後にpipenv shell 環境を抜けます。

pipenv shell "tinker -p 'blog title'; exit"

余談。久々にブログ書いたついでにタイトルも変更してみました。