与virtualenvs运行蟒蛇时发现模块,launchd会

问题描述 投票:3回答:2

这个Q&A类似于Python Script not running in crontab calling pysaunter提供的一个,但被放在的launchd及的Plist方面。

我已成功运行Python脚本在virtualenv中,但是当我试图安排它的launchd,我收到了追踪误差,以我的plist错误日志文件中说:“导入错误:没有模块名为SQLAlchemy的”。怎么办,怎么办?

python virtualenv launchd
2个回答
4
投票

起初,我试着在.bash_profile中,并.profile文件添加.virtualenv sitepackages绝对路径路径和python路径变量。我也试着设置在launchd会配置环境变量路径和PYTHONPATH。没有快乐。

最终什么固定它添加到plist中的PATH和PYTHONPATH环境变量。其中固定呢?不知道,但他俩都不会伤害任何东西。在这些环境变量,我包括在.virtualenvs sitepackages的绝对路径。问题解决了。

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>

0
投票

随着pipenv,上面的答案就简化为以下配置:

<key>ProgramArguments</key>
<array>
  <string>/usr/local/bin/pipenv</string>
  <string>run</string>
  <string>python</string>
  <string>python_script_in_working_directory.py</string>
</array>
<key>WorkingDirectory</key>
<string>/path/to/working/directory</string>
© www.soinside.com 2019 - 2024. All rights reserved.