如何将本地Python包以pip方式加入虚拟环境及Airflow Docker环境
本地Python自制包安装到虚拟环境及Airflow Docker环境配置
一、自制Python包安装到虚拟环境
- 先把你的代码整理成标准Python包结构,示例如下:
必须包含内层包目录和my_custom_package/ ├── my_custom_package/ │ ├── __init__.py │ ├── module1.py │ └── module2.py └── setup.py__init__.py文件,外层目录用来存放setup.py。 - 编写
setup.py文件,示例内容:from setuptools import setup, find_packages setup( name="my_custom_package", version="0.1.0", packages=find_packages(), description="自定义工具包" ) - 激活目标虚拟环境后,在包含
setup.py的目录下执行安装命令:
加pip install -e .-e是开发模式,修改包内代码后无需重新安装;如果是正式部署,去掉-e直接安装即可。
二、将自制包添加到Airflow Docker环境
基于你提供的Dockerfile,按以下步骤调整:
- 调整本地目录结构,让自制包和Dockerfile、requirements.txt处于同一层级:
project_root/ ├── Dockerfile ├── requirements.txt └── my_custom_package/ ├── my_custom_package/ │ ├── __init__.py │ └── 你的模块文件 └── setup.py - 修改Dockerfile,添加复制并安装自制包的步骤:
另一种方式是把自制包路径加到FROM apache/airflow:latest-python3.8 # 把自制包复制到容器内的Airflow目录 COPY my_custom_package /opt/airflow/my_custom_package # 安装自制包 RUN pip install /opt/airflow/my_custom_package # 安装其他依赖 COPY requirements.txt . RUN pip install -r requirements.txtrequirements.txt里,在文件末尾添加:
对应的Dockerfile可以简化为:./my_custom_packageFROM apache/airflow:latest-python3.8 COPY my_custom_package /opt/airflow/my_custom_package COPY requirements.txt . RUN pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者sogu
相关产品推荐
相关产品推荐

