web-dev-qa-db-ja.com

Pythonスクリプトが開始したときにVirtualenvをアクティブにする方法は?

pythonスクリプトを特定の日付にcronを使用して実行するようにスケジュールしたいのですが、example.pyを機能させるには、example-envをアクティブにする必要があります。 cronが実行するたびにexample.pyが独自のvirtualenvをアクティブにする方法はありますか?

そうでない場合は、bashスクリプトbash.shを作成する必要がありますか。

#!/usr/bin/env bash
workon example-env
python2 example.py

そして、それを特定の日にcronによって実行されるようにスケジュールしますか?それとも私は何か他のことをしなければなりませんか?

私はどちらの方法でも問題ありません。正しい方法を知りたいだけです。実行する多くのPythonファイルがあるので、おそらくbashスクリプト方式を好みます。そのため、それらすべてをbashスクリプト内に入れてスケジュールすると、私にとっては簡単に思えますが、繰り返しませんがそれを行う正しい方法がわからないので、私はアドバイスを求めています。

13
Lynob

example.pyへのフルパスでexample-env/bin/python2を開始するだけです。

または、example.pyのShebang行を変更して、その実行可能ファイルを使用し、そのファイルを実行可能(chmod +x example.py)にして、pythonを省略し、example.py開始するには:

#!/full/path/to/example-env/bin/python2
21
Anthon