Python包和命令行

Python包和命令行,python,Python,我有一个python项目,它本质上是一组脚本和工具,我是这样打包的: myProject - bin/ - sometasks/ - task1.py - task2.py - someothertasks/ - othertask1.py - othertask2.py - settings.py - etc.py 为了通过cronjob或从

我有一个python项目,它本质上是一组脚本和工具,我是这样打包的:

myProject
    - bin/
        - sometasks/
            - task1.py
            - task2.py
        - someothertasks/
            - othertask1.py
            - othertask2.py
    - settings.py
    - etc.py
为了通过cronjob或从命令行运行任务或作业、脚本,我按如下方式运行它:

python -m bin.sometasks.task1
它工作得很好,但在向组合中添加守护进程(如芹菜)时,我开始遇到相对导入的问题

例如,尝试

import myProject.etc #-or-# import .etc
无法工作,因为守护进程中项目的根目录现在是sometasks或我的其他子目录之一

据我所知,我需要使用某种根级别的脚本来导入和运行任务。我假设这与Django的manage.py脚本类似

谷歌似乎建议使用setuptools,但我的印象是,这是一个包分发,这个项目是私人的


实现这一目标的最佳实践是什么?

这里有一个快速但愚蠢的解决方案:

try:
    import myProject.etc #-or-# import .etc
except ImportError:
    import sys
    import os
    sys.path.append(os.getcwd() + '/../../')
    import myProject.etc #-or-# import .etc