Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python包条目\ u点名称运行cron任务_Python_Cron_Command Line Interface_Python Packaging - Fatal编程技术网

使用python包条目\ u点名称运行cron任务

使用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

有没有办法用python包名(在入口点指定)运行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包入口点是如何工作的,以及如何在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