什么是__init__.py一个Python源目录?
我试图使用Airflow来执行一个简单的任务python.
from __future__ import print_function
from airflow.operators.python_operator import PythonOperator
from airflow.models import DAG
from datetime import datetime, timedelta
from pprint import pprint
seven_days_ago = datetime.combine(datetime.today() - timedelta(7),
datetime.min.time())
args = {
'owner': 'airflow',
'start_date': seven_days_ago,
}
dag = DAG(dag_id='python_test', default_args=args)
def print_context(ds, **kwargs):
pprint(kwargs)
print(ds)
return 'Whatever you return gets printed in the logs'
run_this = PythonOperator(
task_id='print',
provide_context=True,
python_callable=print_context,
dag=dag)
Run Code Online (Sandbox Code Playgroud)
如果我尝试,例如:
气流测试python_test打印2015-01-01
有用!
现在我想把我的def print_context(ds, **kwargs)函数放在其他python文件中.所以我创建了名为:simple_test.py的antoher文件并更改:
run_this = PythonOperator(
task_id='print',
provide_context=True,
python_callable=simple_test.print_context,
dag=dag)
Run Code Online (Sandbox Code Playgroud)
现在我尝试再次运行:
气流测试python_test打印2015-01-01
好的!它仍然有效!
但是,如果我创建一个模块,例如,带有文件的worker模块 …
我正在开发一个Python应用程序,它构建了一些我用pip安装的软件包,例如Flask,requests,PIL.
那么如何分发我的程序以便其他人可以轻松地安装每个必需的依赖项/包并简单地使它在每台计算机上运行?是setup.py我在寻找什么或根本没有?如果是这样,你能否解释它的作用并提供一个示例setup.py来做我正在尝试做的事情?
PS:我也有这个小问题:我需要在程序的顶级文件夹中提供__init__.py,还是只在子目录中?
python ×3
airflow ×1
celery ×1
celery-task ×1
deployment ×1
module ×1
package ×1
pip ×1
python-3.x ×1