运行 具有 python 包 entry_point 名称的 cron 任务

Run cron task with python package entry_point name

有什么方法可以 运行 具有 python 包名称(在 entry_point 中指定)的 cron 任务吗?

setup.py

从设置工具导入设置

from setuptools import setup

setup(
    name='myapp-cli',
    (..blah..)
    packages=[
        'myapp_cli'
    ],
    install_requires=['configparser', 'requests'],
    entry_points={
        'console_scripts': [
              'myapp= myapp_cli.main:cli'
          ]
    },
    zip_safe=True
)

它适用于 shell:

myapp do_stuff

我想在 cron 任务中按名称 运行 应用程序,如下所示:

* * * * * /something_here? myapp do_stuff >> myapp.log 2>&1

我不知道 python 包 entry_point 是如何工作的以及如何在 cron 中使用它。可能吗?

这不是 Python 问题,而是 linux / shell。

修复它的最简单方法可能是为 Python 和您的脚本使用绝对路径。

假设您的入口点位于 /usr/sbin/myapp(您应该通过 which myapp 找到它)

* * * * * /usr/bin/env python /usr/sbin/myapp do_stuff >> myapp.log 2>&1