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好好学习下才是的!

参考资料:

uwsgi官网

Django Nginx+uwsgi 安装配置(菜鸟教程)
uWSGI详解
windows下python安装uwsgi (2018-02-28)
Windows7使用nginx+apache部署django项目

window安装uwsgi 遇到uname完美解决

Windows 10安装uWSGI:不可行、失败了的更多相关文章

  1. windows 10安装framework 3.5失败的解决方案

    装了两次win 10,全都因为没法安装framework 3.5,用不了老版本的开发环境,又换回了win7. 网上有两种解决方案: a,通过iso安装. 可是拜托,我的系统都是用ghost版本安装的, ...

  2. Windows 10安装DockerToolBox失败处理方法

    指令运行报错: Windows 10安装DockerToolBox失败处理方法:升级Windows 10. (注意:只有Windows10 专业版才支持升级,Server和企业版无效)

  3. windows 10 安装 sql 2005 安装失败

    windows 10 安装 sql 2005 安装失败 网上的方法记录: 安装中无法启动需要先用sp4的补丁文件sqlos.dll,sqlservr.exe 替换D:\Program Files (x ...

  4. windows 10 安装tensorflow

    人工智能一浪接一浪,随着谷歌公布tensorflow源码,尤其是支持windows 10平台的python3.5以上版本,更是让更多人都想用windows操作tensorflow. 第一次安装,也不知 ...

  5. 2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:

    14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映, ...

  6. 2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:5分钟安装 30分钟入门和浏览常用命令

    14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映, ...

  7. zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)

    Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments   最新的Windows 10 MSD ...

  8. Windows 10 安装ElasticSearch(2)- MSI安装ElasticSearch和安装Kibana

    翻阅上篇文章:Windows 10 安装 ElasticSearch 上次写的是下载Zip包安装的,在下载页面 发现有 MSI (BETA) 的下载可选项.了解之后发现MSI安装也值得尝试. MSI安 ...

  9. opencv学习(1.2) - Windows 10 安装OpenCV &配置VS 2015

    windows 10 安装OpenCV&配置VS 2015 环境 系统:Windows 10 OpenCV版本:3.4.1 开发IDE:VS2015 社区版 下载安装 下载OpenCV 3.4 ...

随机推荐

  1. 单点登录(十五)-----实战-----cas4.2.x登录mongodb验证方式实现自定义加密

    我们在前一篇文章中实现了cas4.2.x登录使用mongodb验证方式. 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程 也学习参考了cas5.0.x版 ...

  2. JS的作用域和闭包

    1.作用域 作用域是根据名称找变量的一套规则. 变量的赋值操作会执行两个动作,首先编译器会在当前作用域中声明一个变量(如果之前没有声明过),然后在运行时引擎会在作用域中查找该变量,如果能够找到就会对它 ...

  3. (转)Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web mod

    背景:在sts中导入web项目,却不能通过sts中的tomcat来加载该服务,并报出如下错误. “Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4 ...

  4. 用ladon框架封装Python为Webservice接口以及调用接口的方法

    一.用ladon框架封装Python为Webservice接口 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json ...

  5. echarts彩虹柱状图 每个bar显示不同颜色, 标题在不同位置 ,工具中有可以直接保存为图片下载,平均线的添加

    可以参考: https://echarts.baidu.com/echarts2/doc/example.html https://echarts.baidu.com/echarts2/doc/doc ...

  6. 个人在 laravel 开发中使用到的一些技巧(持续更新)

    1.更高效率地查询:使用批量查询代替 foreach 查询(多次 io 操作转换为一次 io操作) 如果想要查看更详尽的介绍,可以看看这篇文章 什么是 N+1 问题,以及如何解决 Laravel 的 ...

  7. R语言外部数据读取

    0  引言 使用R语言.Python等进行数据处理的第一步就是要导入数据(也可以使用UCI数据集),下文主要根据R语言的帮助文档来介绍外部文件数据的导入方法和注意事项.下面先附上一些指令. 1 格式r ...

  8. 【Asp.net入门5-01】SportsStore:一个真实的应用程序

  9. SSH连接与自动化部署工具paramiko与Fabric

    paramiko paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方法.可以实现远程命令执行,文件传输,中间SSH代理等功能,相对于Pexpect,封装层次更高. pip ...

  10. string 中的一些优化事项

    1.1 fmt  vs  "+" (无转义) import ( "testing" "fmt" ) var ( str = "he ...