D70【 python 接口自动化学习】- python 基础之数据库

day70 Python综合实践

学习日期:20241116

学习目标: MySQL 数据库 Q -- Python 综合实践

学习笔记:

 案例需求

 3aa6133b7f3b4e29b1bae4b5d2510bcb.jpg

 数据内容

2ac4c5db0dfa4b9189d434b347d28edf.jpg

DDL定义

81763bfa8f3a44a8abf18ba11f885286.jpg

总结

1. 使用Python实现读取写入数据库操作

gapinyc@DESKTOP-9QS7RL5:~/superset-prod$ docker-compose build --build-arg SUPERSET_VERSION=3.1.0 [+] Building 1268.1s (11/12) => [internal] load local bake definitions 0.0s => => reading from stdin 1.61kB 0.0s => [superset internal] load build definition from Dockerfile.superset 0.0s => => transferring dockerfile: 1.59kB 0.0s => [superset internal] load metadata for docker.io/apache/superset:3.1.0 1.1s => [superset-init internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [celery 1/8] FROM docker.io/apache/superset:3.1.0@sha256:afcd2f63479e29da06944087a29e7788f9ecd0250f4611e52aee1c844187e3eb 1230.4s => => resolve docker.io/apache/superset:3.1.0@sha256:afcd2f63479e29da06944087a29e7788f9ecd0250f4611e52aee1c844187e3eb 0.0s => => sha256:ac038528f2a19d94b806da89fd9f6cba03f66e1c54525f10d70a60ec7b02ce1d 75.56kB / 75.56kB 0.3s => => sha256:7dfa053011ee83eeaab82132d62e3f7d898b06cf664009193a99dc3877f41fcc 966B / 966B 0.2s => => sha256:91c9fb3f03331a96797d53f57cbd5a160d57d6608b065d23cd69e0682323c419 3.86MB / 3.86MB 3.1s => => sha256:ca43099a12615dfc7643ec769fa1efb4c755df753a0d109a85133d4caeb92eb8 49.26MB / 49.26MB 68.0s => => sha256:7b32b828ea5959602cdacacf44091cf5ed0f82470be3c19dff70aef17160e435 206.83MB / 206.83MB 60.5s => => sha256:204441eb6629cc6fb403dade61473c2ac08eef9bb37c79dee9a0efeadf4b0375 4.37kB / 4.37kB 0.2s => => sha256:e32d94962dc84161ccbbb752f90a730de9e0540a6fa00dfebf91a4a1ee979276 7.30kB / 7.30kB 1.2s => => sha256:d3482cd166eae37d16a1f0aee9afee70010e8d39da451c8f58c43715c38d12ed 102.97MB / 102.97MB 1218.2s => => sha256:fd059c39e967ba26555f9580bea3f791cf4639f183a5ed4a0c410bd8a372991e 91B / 91B 4.0s => => sha256:2b527dfdb0a9ecb9a5bf5c264aeb4ac254e0752886f187095f6960b933aab941 3.13MB / 3.13MB 5.3s => => sha256:93b25b5c998e137849343851763bbc686f369399894e766c37a55304b1f66cfb 244B / 244B 0.1s => => sha256:336c7f590cb97722bfee12f22e354df879feae9f28bfd5cebeaffccb3fb8fbf5 11.89MB / 11.89MB 22.3s => => sha256:51d1f07906b71fd60ac43c61035514996a8ad8dbfd39d4f570ac5446b064ee5d 3.51MB / 3.51MB 5.6s => => sha256:e1caac4eb9d2ec24aa3618e5992208321a92492aef5fef5eb9e470895f771c56 29.12MB / 29.12MB 29.0s => => extracting sha256:e1caac4eb9d2ec24aa3618e5992208321a92492aef5fef5eb9e470895f771c56 0.7s => => extracting sha256:51d1f07906b71fd60ac43c61035514996a8ad8dbfd39d4f570ac5446b064ee5d 0.1s => => extracting sha256:336c7f590cb97722bfee12f22e354df879feae9f28bfd5cebeaffccb3fb8fbf5 0.3s => => extracting sha256:93b25b5c998e137849343851763bbc686f369399894e766c37a55304b1f66cfb 0.0s => => extracting sha256:2b527dfdb0a9ecb9a5bf5c264aeb4ac254e0752886f187095f6960b933aab941 0.2s => => extracting sha256:fd059c39e967ba26555f9580bea3f791cf4639f183a5ed4a0c410bd8a372991e 0.0s => => extracting sha256:d3482cd166eae37d16a1f0aee9afee70010e8d39da451c8f58c43715c38d12ed 2.3s => => extracting sha256:e32d94962dc84161ccbbb752f90a730de9e0540a6fa00dfebf91a4a1ee979276 0.0s => => extracting sha256:204441eb6629cc6fb403dade61473c2ac08eef9bb37c79dee9a0efeadf4b0375 0.0s => => extracting sha256:7b32b828ea5959602cdacacf44091cf5ed0f82470be3c19dff70aef17160e435 6.9s => => extracting sha256:ca43099a12615dfc7643ec769fa1efb4c755df753a0d109a85133d4caeb92eb8 0.6s => => extracting sha256:91c9fb3f03331a96797d53f57cbd5a160d57d6608b065d23cd69e0682323c419 0.2s => => extracting sha256:ac038528f2a19d94b806da89fd9f6cba03f66e1c54525f10d70a60ec7b02ce1d 0.0ss => => extracting sha256:7dfa053011ee83eeaab82132d62e3f7d898b06cf664009193a99dc3877f41fcc 0.0s => [celery 2/8] RUN apt-get update && apt-get install -y --no-install-recommends build-essential libssl-dev libffi-dev python3-dev 14.1s => [superset 3/8] RUN python -m ensurepip --upgrade || (wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py && python /tmp/get-pip.py --user) 2.1ss => [celery 4/8] RUN python -m pip --version 0.5s => [superset 5/8] RUN python -m pip install --upgrade pip && python -m pip install "gevent>=21.12.0" psutil pymysql flask-appbuild 17.3s => [superset 6/8] RUN python -c "import gevent; print(f'✅ Successfully imported gevent {gevent.__version__}')" 0.3s => ERROR [superset-init 7/8] RUN superset build 2.1s ------ > [superset-init 7/8] RUN superset build: 1.566 /app/superset/config.py:39: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. 1.566 import pkg_resources 1.872 -------------------------------------------------------------------------------- 1.872 WARNING 1.872 -------------------------------------------------------------------------------- 1.872 A Default SECRET_KEY was detected, please use superset_config.py to override it. 1.872 Use a strong complex alphanumeric string and use a tool to help you generate 1.872 a sufficiently random sequence, ex: openssl rand -base64 42 1.872 -------------------------------------------------------------------------------- 1.872 -------------------------------------------------------------------------------- 1.872 Refusing to start due to insecure SECRET_KEY ------ Dockerfile.superset:47 -------------------- 45 | 46 | # Step 6: 构建前端资源 —— 关键步骤! 47 | >>> RUN superset build 48 | 49 | # Step 7: 设置时区(可选) -------------------- target superset-init: failed to solve: process "/bin/sh -c superset build" did not complete successfully: exit code: 1 gapinyc@DESKTOP-9QS7RL5:~/superset-prod$ # Dockerfile.superset ARG SUPERSET_VERSION=3.1.0 FROM apache/superset:${SUPERSET_VERSION} # Step 1: 切换为 root 用户(必须) USER root # Step 2: 安装系统级编译依赖 RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ libssl-dev \ libffi-dev \ python3-dev \ libev-dev \ libjpeg-dev \ zlib1g-dev \ && rm -rf /var/lib/apt/lists/* # Step 3: 激活虚拟环境并重新安装 pip # 注意:官方镜像的 Python 虚拟环境位于 /app/.venv ENV VIRTUAL_ENV=/app/.venv ENV PATH="$VIRTUAL_ENV/bin:$PATH" # 方法一:使用 ensurepip 强制重建 pip(推荐) RUN python -m ensurepip --upgrade || \ (wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py && \ python /tmp/get-pip.py --user) # 验证 pip 是否可用 RUN python -m pip --version # Step 4: 安装所需 Python 包 RUN python -m pip install --upgrade pip && \ python -m pip install \ "gevent>=21.12.0" \ psutil \ pymysql \ flask-appbuilder \ pillow # Step 5: 验证 gevent 是否成功导入 RUN python -c "import gevent; print(f'✅ Successfully imported gevent {gevent.__version__}')" # Step 6: 构建前端资源 —— 关键步骤! RUN superset build # Step 7: 设置时区(可选) ENV TZ=Asia/Shanghai # Step 8: 清理缓存(减小镜像体积) RUN pip cache purge # Step 9: 切回普通用户(安全) USER superset
10-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值