2017/03/21
バッチファイルで virtualenv activate する
Windows でタスク処理をする必要が出てきたので、超久しぶりにバッチファイルを書きました。 と言っても、処理自体は Python で書いて、起動をバッチファイルで行うだけなので簡単・・・と思っていたら、ハマりました。 ### activate しようとすると止まってしまう 私が最初に書いたバッチファイルが以下です。 `test` という名前の virtualenv を activate して、`main.py` を実行するだけ。 当然、問題なく動くと思ったのですが、`activate.bat` を呼んだ直後に止まってしまうのです 。 ``` "%HOME%\Envs\test\Scripts\activate.bat" cd "%HOME%\tasks" python main.py ``` ### バッチファイル中からバッチファイルを呼ぶ時は `call` を使う 調べてみたら、バッチファイルを直接記述で呼び出すと止まるらしい 。 > 参考 > - [Windows、バッチファイルからバッチファイルを呼び出す方法あれこれ|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~](http://piyopiyocs.blog115.fc2.com/blog-entry-280.html) というわけで、`activate.bat` の呼び出しに `call` をつければオーケーでした。 ``` call "%HOME%\Envs\test\Scripts\activate.bat" cd "%HOME%\tasks" python main.py ```