本文主要探讨的是个人在Python
项目开发&管理这块的一些经验之谈,经过在团队实践后主要内容总结如下:
基础环境管理
编码标准&规范化
远程开发
项目脚手架
???? 环境管理
使用
Anaconda
和Pipenv
共同管理Python
项目环境
环境管理这块是个很普遍的问题,其面临的问题如下:
如何对不同项目,任意
Python
版本的环境进行管控如何对不同项目,内外网
Python
依赖库进行管控(有些包是公司内部开发,那么对于项目来说就需要同时管控内外网下的第三方包)
对于上面提到的问题,实际上解决问题的方向都是一致的,那就是引入虚拟环境,使得每个项目都有一个专属环境就可以了。
如果你的公司在生产环境中使用Python
有一定的年头,如3~5年,可能有一些老的项目还在用Python3.5
甚至Python2.7
,那么基本都会面临不同项目不同Python
版本的问题。
此时,面对的问题就是第一点提到的不同项目需要的Python
环境不同的问题。对于这种情况,可以直接在电脑下载各个版本的Python
环境,随后到任意项目下就选用任意版本的Python
环境即可,举个例子:
项目 P_01 依赖
Python3.6
:分配Python3.6
环境项目 P_02 依赖
Python3.7
:分配Python3.7
环境
对于各个不同版本Python
环境的管理,个人推荐使用Anaconda[1]:
# Mac Linux Win全平台支持
# 以Linux为例
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.05-Linux-x86_64.sh
chmod a+x ./Anaconda3-2021.05-Linux-x86_64.sh
./Anaconda3-2021.05-Linux-x86_64.sh
安装完成后,即可创建不同的Python
环境:
# 其他版本的创建类似
conda create -n python36 python=3.6
# 列出Python环境
conda env list
那么对于项目 P_01,只需要在项目根目录下进行刚才建立的虚拟环境即可source activate python36
,进入相关环境后直接在环境内安装相关依赖包即可。
也就是说,环境 python36