2021-06-09 更新
更改python程序后应该重新打包,而不是只替换程序。。。被自己蠢死了hh
我有一个需要每晚定时执行的脚本,该脚本需要读取公共盘信息、处理excel表格、发邮件,所以需要root权限和几个python包(pandas openpyxl PyMySQL)。由于我目前使用的服务器没有python3环境,anaconda也没有,所以考虑用docker包裹,再用crontab定时执行某镜像。(正好也练习一下docker的使用)
折腾了两天,踩了不少坑,这里做一下记录吧。
【失败经历】使用alpine
首先,最开始我是想用alpine的,因为它很小,而且python3装的也很顺利。有问题的是装pandas的时候,一直报错网络问题。我试了阿里云的源,
vi /etc/apk/repositories
#上面两行是我添加的。
http://mirrors.aliyun.com/alpine/v3.12/main
http://mirrors.aliyun.com/alpine/v3.12/community
http://dl-cdn.alpinelinux.org/alpine/v3.12/main
http://dl-cdn.alpinelinux.org/alpine/v3.12/community
并且按某博客的说法装了一些依赖包,但是numpy、pandas都装不了。
apk --update-cache --no-cache add tzdata gcc make freetype-dev gfortran musl-dev
g++ libgcc libquadmath musl libgfortran lapack-dev
我也装了python3-dev
/mnt/share # apk search -v 'python3-dev*'
python3-dev-3.8.5-r0 - A high-level scripting language (development files)
# 安装python3-dev
apk --update-cache --no-cache