扫码关注官方订阅号
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
稳妥的做法,先在测试环境预演方案,完善方案细节,制定成可以遵循的文档。
再定个时间(可能访问量少的时候),按照文档,在线上环境进行操作。
线上操作的时候,稳妥的做法,也是推荐准备多个机器,比如现在的线上web-server 有 A/B/C 三台机器,那么你先把流量都导到BC上,然后在A完全没有处理请求后,再对A进行Python解释器的升级。成功之后,再以此类推到其他机器。
预演方案大概也是如下步骤:
* 先在测试环境编译Python3.6源码。 * 将Python3.5启动的服务,改为Python3.6启动。 * 测试(请尽可能详细),如果发现完全没问题,那么说明该操作可以在线上环境同样操作。
将预演方案应用于线上环境。尽可能在访问量少的时候操作升级。尽可能考虑最严重的后果,考虑是否需要有灾难处理的方法。
3.6正式版已经在12月23日发布了,所以现在升级3.6应该是没有问题的;自行阅读下python3.6的升级公告,就可以知道有哪些东西不兼容3.5了;推荐开发使用Python ide工具,比如pycharm,这样在开发过程中,当你使用的语法,或者包在下一个版本会不兼容,或者不推荐的时候,会自动提示,比如你用Python2写如下语句:
print "Test!"
就会提示说该print会在python3中不兼容
========啰嗦分割线==========1.生产环境,Python的项目一定要自行编译python版本,并使用virtualenv工具制作虚拟环境,这样做的好处有很多:
版本切换很快,只要source下相应的版本就已经切换版本了;
各个项目中的包依赖不会冲突,每个虚拟环境中的包都可以按照需求安装相应的包版本,不会存在冲突;
更符合12规范2.我很喜欢新的东西,当然是正式版的东西,一个新版本的出现必然有他的价值存在,不能因为一点不兼容就直接一刀砍,我现在这个公司,以前使用的django还是1.6版本的,现在是1.10,我来到这个公司第一件事情就是升级django,然后慢慢找不兼容(使用ide很容易将不兼容找出来)
啊?难道3.4, 3.5, 3.6都是不兼容的?
三四年吧,没那么快普及。
我们公司还用着2.6.6呢......
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
稳妥的做法,先在测试环境预演方案,完善方案细节,制定成可以遵循的文档。
再定个时间(可能访问量少的时候),按照文档,在线上环境进行操作。
线上操作的时候,稳妥的做法,也是推荐准备多个机器,比如现在的线上web-server 有 A/B/C 三台机器,那么你先把流量都导到BC上,然后在A完全没有处理请求后,再对A进行Python解释器的升级。成功之后,再以此类推到其他机器。
预演方案大概也是如下步骤:
将预演方案应用于线上环境。尽可能在访问量少的时候操作升级。尽可能考虑最严重的后果,考虑是否需要有灾难处理的方法。
3.6正式版已经在12月23日发布了,所以现在升级3.6应该是没有问题的;
自行阅读下python3.6的升级公告,就可以知道有哪些东西不兼容3.5了;
推荐开发使用Python ide工具,比如pycharm,这样在开发过程中,当你使用的语法,或者包在下一个版本会不兼容,或者不推荐的时候,会自动提示,比如你用Python2写如下语句:
就会提示说该print会在python3中不兼容
========啰嗦分割线==========
1.生产环境,Python的项目一定要自行编译python版本,并使用virtualenv工具制作虚拟环境,这样做的好处有很多:
版本切换很快,只要source下相应的版本就已经切换版本了;
各个项目中的包依赖不会冲突,每个虚拟环境中的包都可以按照需求安装相应的包版本,不会存在冲突;
更符合12规范
2.我很喜欢新的东西,当然是正式版的东西,一个新版本的出现必然有他的价值存在,不能因为一点不兼容就直接一刀砍,我现在这个公司,以前使用的django还是1.6版本的,现在是1.10,我来到这个公司第一件事情就是升级django,然后慢慢找不兼容(使用ide很容易将不兼容找出来)
啊?难道3.4, 3.5, 3.6都是不兼容的?
三四年吧,没那么快普及。
我们公司还用着2.6.6呢......