使用python包条目\ u点名称运行cron任务
有没有办法用python包名(在入口点指定)运行cron任务 setup.py 从设置工具导入设置使用python包条目\ u点名称运行cron任务,python,cron,command-line-interface,python-packaging,Python,Cron,Command Line Interface,Python Packaging,有没有办法用python包名(在入口点指定)运行cron任务 setup.py 从设置工具导入设置 from setuptools import setup setup( name='myapp-cli', (..blah..) packages=[ 'myapp_cli' ], install_requires=['configparser', 'requests'], entry_points={ 'conso
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包入口点是如何工作的,以及如何在cron中使用它。可能吗?这不是Python的问题,而是linux/shell的问题 修复它的最简单方法可能是对Python和脚本使用绝对路径 假设您的入口点位于
/usr/sbin/myapp
(您应该在哪个myapp
中找到它)
这不是Python的问题,而是linux/shell的问题 修复它的最简单方法可能是对Python和脚本使用绝对路径 假设您的入口点位于
/usr/sbin/myapp
(您应该在哪个myapp
中找到它)
如果它什么也不给呢?我已经检查了
whereispython
返回python路径,但是在whereismyapp
上什么都没有发生。是的<代码>我的应用程序foo-有效python-m myapp.main
-如果您想在package dir中执行命令,那么是的,它也可以工作。我已经在问题中添加了完整的setup.py文件。包名myapp\u cli
,入口点是myapp
so-python-m myapp\u cli.main
工作正常(但不是python-m myapp.main
,它返回“查找'myapp.main'规范时出错”),我理解你的想法/path/to/python-m myapp_cli.main do_stuff>>…
这应该是可行的(但有点难看),我已经找到了入口点的工作方式。看一看。如果您希望答案被接受,请在答案中添加完整的信息:)如果答案中没有给出任何信息,该怎么办?我已经检查了whereispython
返回python路径,但是在whereismyapp
上什么都没有发生。是的<代码>我的应用程序foo-有效python-m myapp.main
-如果您想在package dir中执行命令,那么是的,它也可以工作。我已经在问题中添加了完整的setup.py文件。包名myapp\u cli
,入口点是myapp
so-python-m myapp\u cli.main
工作正常(但不是python-m myapp.main
,它返回“查找'myapp.main'规范时出错”),我理解你的想法/path/to/python-m myapp_cli.main do_stuff>>…
这应该是可行的(但有点难看),我已经找到了入口点的工作方式。看一看。如果希望答案被接受,请在答案中添加完整信息:)
* * * * * /usr/bin/env python /usr/sbin/myapp do_stuff >> myapp.log 2>&1