介绍
换工作,换电脑一切需要重新开始,开发环境搭建真是个大工程。本文主要记录下,python开发环境的搭建及优化,轻松保持开发的快捷和高效。
选择开发电脑
有条件的话Mac还是开发的首选,用习惯之后,要再换系统还真是难以割舍。第二推荐的原本是linux系统,它能让你在开发过程中能最接近生产环境,但痛点也还是比较明显,一些常用的通讯软件,流行的管理软件没有被支持,当然如果你是linux大神,这些都不是问题。所有第二推荐的便是windows10了,安全性是windows一直以来的毛病,但发展到现在,相较以前已经很不错了,再加上wsl的引入,让windows系统变得更加强大,而且有多年以来孕育的强大软件生态,相信以后会越走越好。
搭建及优化
通过pyenv进行python部署
这里不再推荐使用系统自带的python版本进行服务部署,通过虚拟环境的部署可以实现运行环境的完全隔离,防止项目之间依赖冲突,造成运行环境的破坏。这里之所以推荐使用pyenv,是因为它基本上不依赖系统python版本,而且安装方便易于管理。而在Windows系统下,没有得到支持,所以这个推荐使用Windows进行开发的童鞋将开发环境放在wsl中,开发工具可以用vscode,vscode提供了remote development
的插件,能让你轻松的进行开发工作。
pyenv
部署可以参考 https://www.antio.top/blog/2018/11/7/pythonxu-ni-huan-jing-guan-li-ruan-jian-pyenvan-zhuang-bu-shu/
python镜像加速
采用阿里镜像加速服务(对于新更新的版本可能找不到,依赖于阿里同步官方库的时间)
# vi ~/.pip/pip.conf
[global]
trusted-host = mirrors.aliyun.com
index-url = https://mirrors.aliyun.com/pypi/simple
善用requirements.txt
在完成一个项目的开发后,建议创建一个干净的虚拟环境,并确保程序正常跑起来,让后通过如下命令,生成requirements.txt文件,并提交到代码库中,且尽量将第三发包版本都指定,避免因第三方包升级,导致项目无法正常运行。有requirements.txt的加持,能大大减小项目出问题的几率。
pip freeze > requirements.txt
生产环境
在生产环境下部署有下面几个参考方案
直接部署在生产主机上,可通过Jenkins等持续集成服务进行自动化部署
还是建议使用pyenv创建虚拟环境进行部署
通过docker打包镜像,可通过Jenkins等持续集成服务进行自动化部署
这种方式部署的话,就不需要考虑pyenv的安装了,直接在镜像打包的时候指定python版本就可以了