首先,我写 Python 的时间,不超过一个星期; 公司一个项目,需要算法部门提供一个复杂算法,他们是用 Python,但是,他们似乎只擅长算法,我们希望他们可以提供一个 Rest Full 的 API 就接口,结果,这事儿,居然落到我们头上。 经过两三天的折腾,完成了在开发机器上的部署,可以正常运行了,结果搬到服务器上的时候,遇到了莫大的阻力; 开发环境为 Windows 7 64,服务器环境为 Server 2012 R2 64,Python,Apache,均是使用的 64 位版本;
问题 1: httpd: Syntax error on line 179 of C:/Apache24/conf/httpd.conf: Cannot load modu les/mod_wsgi.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc 4\xa3\xbf\xe9\xa1\xa3 ; 该问题已经解决,但解决的方式,让人无法理解;
问题 2: 我本机部署的时候,安装了 Python3.4 (官方安装包),3.5.3 ( WinPython-64bit-3.5.3.0Qt5 );本来应该使用 3.4 版本,但是在安装 Flask 过程做报错,导致不能使用,但是我并没有卸载,只是从环境变量 Path 中移除了路径,这样,环境变量 Path 中只有 3.5.3 的路径;这种情况下,居然可以正常运行,后来使用 procexp.exe 查看发现,实际上加载了 3.4 版本的部分文件;因此,我按照这个套路,也在服务器中部署,居然成功了,但是,我并没有为 3.4 安装 Falsk 的包,3.5.3 是自带的。
那么问题来了,Python 是如何识别版本的?为何我这种歪打正着的办法,居然奏效了?有没有大神遇到过类似情况,可以分享一下部署经验,感激涕零。