Windows运维之Windows 10安装uWSGI:不可行、失败了
小标 2018-08-29 来源 : 阅读 3344 评论 0

摘要:本文主要向大家介绍了Windows运维之Windows 10安装uWSGI:不可行、失败了,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助。

本文主要向大家介绍了Windows运维之Windows 10安装uWSGI:不可行、失败了,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助。

Windows 10家庭中文版,Python 3.6.4,uwsgi-2.0.17.tar.gz,压缩工具-7-zip
 
提示:请不要和我一样尝试,浪费时间,去Linux上玩吧!
 
几个小时的安装经历
昨天下午学习到将“Django项目部署到Nginx服务器”,此部署除了需要Nginx服务器外,还需要一个和Nginx服务器
进行通信的协议软件——uwsgi。
可是,经过尝试,最终没能成功将uwsgi安装到Windows 10,而且有网友的博文说uwsgi不支持在Windows 10上安
装,即,不可以!但是呢,官网和网友的博文都表明可以在Windows上安装Cygwin,然后在Cygwin环境中安装。
我以为, 没有必要继续尝试在Cygwin上安装uwsgi等软件了,直接安装一个Linux操作系统(Ubuntu?),然后再尝
试是最好的,毕竟,最终Django项目是要部署到Linux或UNIX上的。
 
安装过程中出现的错误
1.pip安装
Traceback显示在uwsgiconfig.py的line 8调用os.uname()[0]发现错误:
AttributeError: module ‘os‘ has no attribute ‘uname‘

在IDLE中导入os模块,使用dir(os)命令进行检查,的确没有发现其下有uname属性(下面是部分截图):

 
2.python3 setup.py install安装(uwsgi离线包)
在使用pip命令无法直接安装成功之后,即可尝试下载模块的离线安装包,再进行手动下载了。
评论:pip都无法安装成功,除开没找到的原因,下载离线安装包能安装成功?表示怀疑~
 
可以从pypi.org网站、uwsgi的Github主页下载。下图是pypi.org网站的uwsgi下载页截图:

使用7-zip解压到当前目录,得到一个uwsgi-2.0.17.tar,再解压tar文件,得到uwsgi-2.0.17文件夹,然后就可以基于此
文件夹安装uwsgi了。


再把uwsgi文件夹放到合适的位置(有博文说放到Python的lib/site-packages下,当我认为没必要,直接放C盘下即可)。
接下来,使用命令行进入uwsgi目录——里面有一个setup.py文件用来安装uwsgi的,执行python3 setup.py install命令,结
果,uname的错误仍然存在。
不知道该怎么办,,在百度输入了错误,获得了解答——参考资料中的window安装uwsgi 遇到uname完美解决,即打开
uwsgiconfig.py文件进行修改:
-导入platform模块
-使用platform.uname替换os.uname (总共四个)

 
再次执行python3 setup.py install命令,结果,还是出错!这次提示:
Exception: you need a C compiler to build uWSGI
需要一个C语言编译器,而此时的环境中没有!
经过网络搜索,可以安装一个Cygwin解决此问题。好吧,安装Cygwin。
Cygwin是什么?从我的使用经历来看,就是在Windows上模拟了一个Linux的运行环境,更多见官网。

安装Cygwin:先选择了一个日本的镜像(mirror),结果安装失败了;后来又选择了唯一的HK的镜像(下图红框中),安装成功。

安装成功:

GCC也有了!(就是我们需要的C编译器,其实,不用解释的吧?)

 
下面,将Cygwin中的编译器命令添加到Windows的环境变量Path中:

 
在Windows命令行中再次执行python3 setup.py install命令,失败,提示了两个error:
UWSGI_EVENT_IN、UWSGI_EVENT_OUT

 
那么,在Cygwin中执行python3 setup.py install命令呢?结果还是失败!

 
 
此时,快无招了!
 
网络搜索UWSGI_EVENT_IN、UWSGI_EVENT_OUT相关信息,最终发现这两个宏定义出现在uwsgi的core/event.c源文件中:

 
一看,继续网络搜索,中文的、英文的——主要是stackoverflow,可是,没有解决方案,而且有些博文就
直接说,不支持在Windows上安装uwsgi!
 
或许过一段时间就可以了,不过,这样重大的消息一定不会被一位Python程序员错过的,对吧?
 
放弃这条路吧!去安装Ubuntu吧!再去Ubuntu上玩Django+Nginx+uwsgi吧!
 
P.S.
可是,为什么会这样呢?poll是什么(多年前去了解过,后来,忘记了)?
关于poll的资料,继续网络搜索吧!
作者:Ben.Z
百度百科的poll()
 
无法在Windows上发布Django程序了,不过,还是可以在Windows上测试、练习Django程序的开发的。
还可以通过查看博文学习Nginx+uwsgi的配置的。
那么,Windows上开发的Django程序可以轻松移植到Linux吗?
 
看来,还是得把Linux好好学习下才是的!
 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维windows频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 1
看完这篇文章有何感觉?已经有1人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved