首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python包不可用于从cron执行的脚本

python包不可用于从cron执行的脚本
EN

Stack Overflow用户
提问于 2018-09-26 08:19:42
回答 2查看 190关注 0票数 0

我已经开发了一个python Flask API,并将其部署在aws ebs上。Flask API的工作方式与预期一致。Flask API需要几个python包,我已经将它们添加到:requirements.txt

我还安装了一个python脚本,它是从Flask API中分离出来的py文件。它被安排为每天运行,由cron执行。

当我设置cron时,我得到一个没有找到模块的执行错误:

代码语言:javascript
运行
复制
ModuleNotFoundError: No module named 'pandas'

但是,模块是由requirements.txt安装的,并且可用于Flask API代码。import pandas如何与Flask API一起工作,但对由cron执行python脚本不可用?

EN

回答 2

Stack Overflow用户

发布于 2018-10-04 21:03:17

this作业在您的环境之外运行,因此这意味着它们没有您的$PATH和其他环境变量(在Cron答案中有更广泛的描述),这会导致无法找到某些程序。您应该做的是将Python脚本执行封装在一个bash脚本中,在开始时导出所有需要的环境变量(或者通常让它使用您的环境)。然后,使用cron执行此bash脚本。

票数 0
EN

Stack Overflow用户

发布于 2020-05-05 15:27:05

@arudzinska是对的。我的案例是使用Elastic Beanstalk AWS和cronjob,与pandas有相同的问题(没有名为‘pandas’的模块)。我使用了上面的注释,并尝试找到pandas包的位置,然后找到安装requirements.txt包的python路径,并将其放在.config文件中:

  1. Pandas路径:

find . -name pandas ./opt/python/run/venv/lib64/python3.6/site-packages/pandas

  1. Python path

2.1。进入控制台的系统路径是什么

代码语言:javascript
运行
复制
eb ssh
which python3

/usr/bin/python3

2.2。找到您的python路径

代码语言:javascript
运行
复制
find . -name python

./opt/python/run/baselinenv/bin/python

./opt/python/run/venv/bin/python

  1. 应用程序文件

find . -name apps.py

/opt/python/current/app/apps.py

.ebextensions上的

  1. 修改了cronjob.config文件

files: "/etc/cron.d/mycron": mode: "000644" owner: root group: root content: | 15 6 * * * root echo $(date) >> /tmp/cron.log; /usr/local/bin/myscript.sh >> /tmp/cron_py.log 2>&1;

代码语言:javascript
运行
复制
"/usr/local/bin/myscript.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
        #!/bin/bash

        date > /tmp/date
        # Your actual script content
        /opt/python/run/venv/bin/python3 /opt/python/current/app/apps.py

        exit 0

commands: remove_old_cron: command: "rm -f /etc/cron.d/mycron.bak"

现在一切都正常了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52508256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档