Python项目转移到Docker教程和常见错误

今天开始折腾docker了,听说这这玩意儿很好用,主要是我开发python项目是在win10上面的,服务器一般都是linux,转移项目比较麻烦,找到了docker,看介绍不错,就先来试试了。没有系统的学习,刚用坑肯定多了。记录下。

docker学习教程:

https://www.bilibili.com/video/BV11L411g7U1看的这个up主的,比较快速,先入门再说。对应的文档https://docker.easydoc.net/doc/81170005/cCewZWoN/lTKfePfP

我安装的win10版本。安装倒是没遇到坑,因为我已经开启了hyper-v这套东东,直接一次安装成功。就是提示win10版本不是最新的。

Python项目转移到Docker教程

参考教程:https://blog.csdn.net/weixin_42361442/article/details/120990304

Python项目转移到Docker教程常见错误

1、Docker安装好后,需要添加网络,不然无法联网,打包这些都完成不了哦

2、从pycharm生成需要pip安装的文件列表requirements.txt。

直接执行命令:pip freeze > requirements.txt,假如不是虚拟环境,会把所有的库都导出来,这个就坑了,肯定是不行的,太多。

找到https://www.cnblogs.com/wordblog/p/16157622.html这个教程解决

通过第三方库 pipreqs 来生成 requirements.txt 文件,这个方式有一个好处,那就是它可以只生成我们当前Python项目中所用到的依赖包及其版本号,而不是像 pip freeze 方式一样把所有包全部列出生成。

pip install pipreqs
pipreqs 使用起来也很容易,命令使用方式为:pipreqs 当前Python项目的根目录。
在执行时,可能会出现上面提示编码方式不对的情况,为解决这个问题,我们可以在执行命令中指定编码方式为 utf-8 ,如下:
如果我们Python项目的根目录中已存在 requirements.txt ,那么使用上面命令就会出现警告:
警告信息中的提示,告诉我们可以使用参数 --force 来覆盖重新生成 requirements.txt ,最终命令如下:
pipreqs D:\pycharm\Code\flaskDemo --encoding=utf-8 --force

3、ADD requires at least two arguments错误

估计很多新手都会遇到,add命令需要两个参数,当前目录.后面需要加一个空格的

#ADD <复制的文件路径> <镜像内的路径>
ADD jdk-8u261-linux-x64.tar.gz /usr/local/

4、RUN pip install -r requirements.txt安装支持库下载速度慢问题

这个pip是用的国外镜像源,需要和pycharm里面一样,修改为国内镜像源就快了。

教程https://blog.csdn.net/qq_41070393/article/details/113881271,这个教程里面阿里云的镜像地址是错的,自己改下……

常用国内镜像源:

清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
华中理工大学:http://pypi.hustunique.com
豆瓣:https://pypi.douban.com/simple
默认: https://pypi.python.org/simple

完整命令:

RUN pip3 install -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyuncs.com --default-timeout=60 --no-cache-dir -r requirements.txt