Python 问题求解: Flask + mod_wsgi + Apache,部署疑云

2018-08-14 18:55:54 +08:00
 laball

首先,我写 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 是如何识别版本的?为何我这种歪打正着的办法,居然奏效了?有没有大神遇到过类似情况,可以分享一下部署经验,感激涕零。

1036 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/479785

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX