質問: subprocess.Popen(shlex.split(text)) File "/usr/lib/python2.7/subprocess.py", line 710, in *init* errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory の繰り返しでした 以上が今までの経緯です。 更に追記です(2017/03/21) 前回ご質問させていただき解決したプログラムです ↓ Raspberry piで天気予報を実行したいのですがエラーが出て実行できません。 このプログラムを使いcronで定期的にしゃべってもらいたいです 参考にしましたサイト↓ Raspberry Pi | 毎朝、東京の天気予報をしゃべってもらう(お天気Webサービス) http://www.tapun.net/raspi/raspberry-pi-talk-weather
回答: まず、 > > 起動してくれません > > > という認識が間違っていると思われます。ログ /var/log/cron で確認しましたか? おそらく、起動はしているが、エラーになっているのだと思います。 さらに、`MAILTO=""`と書くのが間違っています。 cronは、実行したコマンドがエラー終了したり、標準出力、標準エラー出力に出力したものをメールで送ってくれるという便利な機能があるのに、それを殺してしまっています。 MAILTOの行を消すか、あるいはメールアドレスを設定して、メールを見てください。 もちろん、メール送信可能な設定になっている必要がありますが。 追記 == 最初の回答は原因の調べ方だけで、コメントを全部見ないと解決策に行き当たらないので、ここに書いておきます。 実はPythonから外部コマンドを起動しているが、そのコマンドがフルパスでなく、cron標準のPATHにも無かったので、起動に失敗していたというのが原因です。 解決策は、PATHをログイン時と同じように設定すること。 環境変数はcronでうまくいかないことの定番原因ですが、今回はpythonコマンド自体は起動に成功しているので判明が遅れました。