3

この Q&A は、pysaunter を呼び出す crontab で実行されていない Python スクリプトで提供されているものと似ていますが、Launchd & Plists に関して記載されています。

virtualenv で python スクリプトを正常に実行していましたが、Launchd でスケジュールしようとすると、plist エラー ログ ファイルに「ImportError: No module named sqlalchemy」というトレースバック エラーが表示されました。どうしよう、どうしよう。

4

2 に答える 2

4

最初に、.virtualenv sitepackages 絶対パスを .bash_profile と .profile のパスと python パス変数に追加してみました。また、launchd config で環境変数 path と pythonpath を設定してみました。喜びはありません。

最終的に修正されたのは、PATH および PYTHONPATH の環境変数を plist に追加することでした。どれがそれを修正しましたか?確かではありませんが、両方持っていても何も害はありません。これらの環境変数には、.virtualenvs のサイト パッケージへの絶対パスを含めました。問題が解決しました。

HTH。

例:

<key>EnvironmentVariables</key>
    <dict>
    <key>PATH</key><string>/Users/user/.virtualenvs/oraenv/lib/python2.7/site-packages/</string>
    <key>PYTHONPATH</key><string>/Users/user/.virtualenvs/oraenv/lib/python2.7/site-package/</string>
    </dict>
于 2013-07-18T06:32:59.300 に答える