什么时候将生产环境切换到Python3.6比较好?
高洛峰
高洛峰 2017-04-18 10:08:32
[Python讨论组]
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(5)
PHP中文网

稳妥的做法,先在测试环境预演方案,完善方案细节,制定成可以遵循的文档。

再定个时间(可能访问量少的时候),按照文档,在线上环境进行操作。

线上操作的时候,稳妥的做法,也是推荐准备多个机器,比如现在的线上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呢......

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号