2017/03/21

バッチファイルで virtualenv activate する

Windows でタスク処理をする必要が出てきたので、超久しぶり1にバッチファイルを書きました。

と言っても、処理自体は Python で書いて、起動をバッチファイルで行うだけなので簡単・・・と思っていたら、ハマりました。

activate しようとすると止まってしまう

私が最初に書いたバッチファイルが以下です。

test という名前の virtualenv を activate して、main.py を実行するだけ。 当然、問題なく動くと思ったのですが、activate.bat を呼んだ直後に止まってしまうのです2

"%HOME%\Envs\test\Scripts\activate.bat"

cd "%HOME%\tasks"

python main.py

バッチファイル中からバッチファイルを呼ぶ時は call を使う

調べてみたら、バッチファイルを直接記述で呼び出すと止まるらしい3

参考

というわけで、activate.bat の呼び出しに call をつければオーケーでした。

call "%HOME%\Envs\test\Scripts\activate.bat"

cd "%HOME%\tasks"

python main.py
  1. 10年以上…か? 
  2. ちなみに、%HOME% はホームディレクトリを指定してます 
  3. イケて無いと思うのは私だけ? 
?

0 件のコメント: