3

virtualenv(1.8.2)virtualenvwrapper(3.6)を使用して仮想環境で作業したい場合は、 を実行するだけworkon my_projectです。ただし、またはを使用して仮想環境からコマンドを実行できませんcrontabgnome-terminal

例:

* * * * * workon my_project && python task.py

これは実行されません。(タスクはファイルに書き込みます)

また

gnome-terminal --tab -e "bash -c \"workon my_project;python task.py;exec bash\"" これはbash: workon: command not found、システム環境からプログラムを表示して実行するだけです。このコマンドの詳細については、こちらを確認してください。

編集

@Zaar Hai:virtualenvwrapperこれを my で開始するには/home/myusername/.bashrc:

export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true

だから私はこのコマンドを試しました:

gnome-terminal --tab -e "bash -c \"export WORKON_HOME=~/.virtualenvs;source /usr/local/bin/virtualenvwrapper.sh;export PIP_VIRTUALENV_BASE=$WORKON_HOME;export PIP_RESPECT_VIRTUALENV=true;source /home/myusername/.virtualenvs/my_project/bin/activate;exec bash\""

しかし、コメントに投稿したのと同じ出力が得られます。

4

1 に答える 1

4

crontab を介して:

0 10 * * * env -i bash -c 'export WORKON_HOME=~/.virtualenvs && source /usr/local/bin/virtualenvwrapper.sh && workon my_project && python task.py'

gnome ターミナル経由:

gnome-terminal --tab -e 'bash -c "export WORKON_HOME=~/.virtualenvs && source /usr/local/bin/virtualenvwrapper.sh && workon my_project && python task.py " '

何よりも、runme.sh スクリプトを作成するだけです。

#/bin/sh
set -e
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
workon my_project
exec python task.py

そして、このスクリプトを gnome ターミナル / crontab から実行します。

于 2013-01-16T14:40:17.313 に答える