python压缩包怎么安装-python – 如果安装的模块在zip文件的顶层添...
我正在为数据科学家团队建立一个多用户气流集群,其中包括DAG(ETL,NLP,ML,NN ……)的各种用法,其中一些具有特定的python依赖性.
我不能简单地在系统级添加所有DAG依赖项.当然,我可以设置常用的基线,但是对于特定的需求,依赖于压缩的DAG功能会非常有帮助.
因此,为了解决这个多上下文问题,我正在测试Airflow 1.9.0的packaged DAG功能(在Ubuntu 16.04上).
我正在按照这个例子用任意的pypi包来测试它.
>我随机选择了一个python模块(python-crontab). (在此之前,我尝试使用更强大的模块,但重现测试需要更长的时间)
>测试场景:能够导入该模块并在压缩的DAG中打印其版本
>这是我做的方式:
$virtualenv venv --python=python3
$source venv/bin/activate
(venv) $mkdir contents && cd contents
$pip install --install-option="--install-lib=$PWD" python-crontab
$cp ../my_dag.py .
$zip -r ../test_zip_2.zip *
$cp ../test_zip_2.zip /path/to/dags
$journalctl -f -u airflow-scheduler.service
(...)
WARNING - No viable dags retrieved from /path/to/dags/test_zip_2.zip
>我的DAG的内容:
import crontab
import airflow.utils.dates as a_dates
from airflow.operators.python_operator import PythonOperator
from airflow.operators.dummy_operator import DummyOperator
from airflow.models import DAG
from pprint import pprint
args = {
'owner': 'airflow',
'start_date': a_dates.days_ago(1)
}
def print_context(ds, **kwargs):
pprint(kwargs)
print(ds)
print(crontab.__version__)
return 'Whatever you return gets printed in the logs'
with DAG(dag_id='test_zip', default_args=args, schedule_interval=None) as dag:
(
PythonOperator(
task_id='print_the_context',
provide_context=True,
python_callable=print_context,
)
>> DummyOperator(
task_id='do_nothing'
)
)
检查the code后,如果找到不包含单词“DAG”和“airflow”的.py文件,则解析ZIP文件的逻辑会立即退出.
问题是,我上面描述的方法实际上是在归档的根目录下生成其他.py文件.
$ll
total 100
drwxr-xr-x 1 vagrant vagrant 442 Jun 1 14:48 ./
drwxr-xr-x 1 vagrant vagrant 306 Jun 1 15:30 ../
-rw-rw-r-- 1 vagrant vagrant 3904 Dec 30 2015 cronlog.py
-rw-rw-r-- 1 vagrant vagrant 44651 May 25 16:44 crontab.py
-rw-rw-r-- 1 vagrant vagrant 4438 Dec 28 2015 crontabs.py
drwxr-xr-x 1 vagrant vagrant 476 Jun 1 14:26 dateutil/
-rw-r--r-- 1 vagrant vagrant 6148 Jun 1 14:24 .DS_Store
drwxr-xr-x 1 vagrant vagrant 204 Jun 1 14:26 __pycache__/
drwxr-xr-x 1 vagrant vagrant 272 Jun 1 14:26 python_crontab-2.3.3-py3.5.egg-info/
drwxr-xr-x 1 vagrant vagrant 306 Jun 1 14:26 python_dateutil-2.7.3-py3.5.egg-info/
drwxr-xr-x 1 vagrant vagrant 238 Jun 1 14:26 six-1.11.0-py3.5.egg-info/
-rw-rw-r-- 1 vagrant vagrant 30888 Sep 17 2017 six.py
-rw-r--r-- 1 vagrant vagrant 832 Jun 1 14:48 my_dag.py
我测试的许多知名软件包都会生成这些顶级.py文件.例如.安装scrapy,numpy,pandas等产生同样的混乱.
那么,可能是我的选择(没有分流气流^ _ ^)?
我是否正确理解此功能?
谢谢你的帮助!
python压缩包怎么安装-python – 如果安装的模块在zip文件的顶层添...相关推荐
- 下载python压缩包并使用setup.py安装
环境:win10.python3.6.anaconda3 问题:使用pip install pp (pp是parallel包)或者使用pip安装其他包时可能会因为网络等原因下载失败. 解决: 去官网下 ...
- python的pptx文档_通过python-pptx模块操作ppt文件
ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能.ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程. 本文主要介绍python操作ppt的技巧,编程 ...
- python解压版使用_【Python】使用 zipfile 解压含有中文文件名的 zip 文件
问题 在使用 Python 内置标准库 zipfile 解压文件时,如果压缩文件中有的文件含有中文,那么解压后就会发现文件名中的中文部分是乱码.例如我分别新建三个 txt 文件:文件1.txt,文件2 ...
- ARM安装python模块
ARM机器安装python模块绝对不不不不可以直接pip!!! 这里演示的是CentOS,其他linux系统类似. Step1.安装必备 yum install epel-release yum in ...
- Python zipfile:高效处理 ZIP 文件(翻译)
zipfile 可以很方便地读取.写入.提取zip文件.如果在日常工作中经常需要将某些文件打包到zip,不妨试试用它实现一定程度的自动化办公.另外 Python 的 Zip imports 也是一个有 ...
- python高中教材-高中Python校本课程的设计与实施
郑兴航 2018年1月,新版高中信息技术课程标准正式颁布,对照2003版,新标准在课程目标和课程内容上都有了很大变化,编制准确反映课程标准理念的教材的难度大大增加.新课程标准配套教材目前尚未推出,随着 ...
- python打开zip文件_Python操作Zip文件
Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # ...
- Python操作Zip文件
Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt.
- python暴力破解Zip文件,就是不讲道理
本次实验将带领大家用Python的zipfile模块实现Zip文件的暴力破解,涉及的知识点包括:zipfile.argparse的用法等等. 一.实验说明 1. 实验简介 我们在网上好不容易下载到一个 ...
最新文章
- java十进制输出_JAVA输入一个十进制数N,输出r进制的数
- 4.Hadoop的学习(Hadoop的安装及环境变量的配置)
- 无法定位序数于动态库mfc90d.dll上 由于应用程序配置不正确...解决方法
- 套接字的作用与一般使用_05 | 使用套接字进行读写
- JSTL fmt 标签 使用
- vue + vue-router +axios + element UI + PHP + CodeIgniter + Mysql 项目管理系统
- 测试日照强度的软件,日照分析软件FastSUN - 飞时达软件
- solidworks电气元件3d库_60套机械设计三维选型软件 非标自动化 电气选型SolidWorks标准件...
- 「运维有小邓」如何避免企业AD域弱密码
- 创建Allegro差分对
- 如何使用报表工具制作条形码报表
- 33、Python第三方库安装和使用
- DAMO-YOLO | 超越所有YOLO,5行代码即可体验
- clk子系统 - 驱动框架
- Cramer-Rao Lower Bound的推导
- mp4转换成gif无损画质,MP4转换gif一键搞定
- python cox回归_数据分析|回归分析(RPython)
- 用c语言编写心里测试,写了个心理测试的c程序(*^__^*) 嘻嘻……
- 如何启用服务器的TCP IP协议,本地联接的属性里的TCP/IP协议被禁用,怎么开启啊?...
- 1.《自学大全》 -读书猴(未完待续)