在cygwin上安装uwsgi

时间:2015-10-08 09:47:17

标签: cygwin uwsgi

有没有人设法在cygwin(python 2.7)上安装uwsgi?

SET @temp = (select Id from [dbo].[Cinemas] where [Location] = @CineName)

我有make,automake,gcc(4.9.2)。我需要什么吗?

2 个答案:

答案 0 :(得分:0)

我在Windows 7 gcc (GCC) 4.9.3GNU Make 4.1下遇到了完全相同的问题。实际上有3个问题需要解决。第一种方法是删除-Wall标志来禁用GCC警告。第二种是在使用Cygwin时删除GCC -rdynamic链接器选项。最后一个问题是您需要使用Cygwin的安装程序安装程序安装libcrypt-devel

这是git diff uwsgiconfig.py的样子。请注意,我从GitHub克隆了master分支。

diff --git a/uwsgiconfig.py b/uwsgiconfig.py
index 3279777..cca00cf 100644
--- a/uwsgiconfig.py
+++ b/uwsgiconfig.py
@@ -1,5 +1,6 @@
 # uWSGI build system

+
 uwsgi_version = '2.1-dev'

 import os
@@ -621,7 +622,7 @@ class uConf(object):
         self.cflags = [
             '-O2',
             '-I.',
-            '-Wall',
+            # '-Wall',
             '-Werror',
             '-D_LARGEFILE_SOURCE',
             '-D_FILE_OFFSET_BITS=64'
@@ -842,6 +843,9 @@ class uConf(object):
             if GCC in ('clang',):
                 self.libs.remove('-rdynamic')

+        if uwsgi_os.startswith('CYGWIN'):
+            self.libs.remove('-rdynamic')
+
         # compile extras
         extras = self.get('extras', None)
         if extras:

然后克隆的uwsgi目录中的一个简单的make应该构建所有内容。

我通过使用以下内容创建名为app.py的文件来测试它 -

def application(env, start_response):
    start_response('200 OK', [('content-type', 'text/html')])

    return [b'asdasdasd']

然后使用 -

运行服务器
./uwsgi --http :9090 --wsgi-file app.py

访问http://localhost:9090/时,一切正常。

答案 1 :(得分:0)

仅使用latest uwsgilatest Cygwin成功了。 核心是步骤2

步骤:

  1. 下载Cygwin
  2. install:在安装时,必须选择安装pip和python(我是python2.7.16)==>这是Cygwin的python,而不是Windows上安装并在Cygwin shell中使用的python REF TO
  3. 下载uwsgi
  4. 安装cd {YOUR uwsgi}; python2.7.exe setup installpython2.7.exe是由python为在步骤2中选择的Cygwin创建的,您可以进行比较,找到/bin/pythonX.x.exe,将其添加到PATH在linux(/etc/profile~/.bash_profile)中)
  5. 如果在第4步中发生错误,例如“找不到xxx / ld -lintl”,请转到步骤2进行查找(通常是xxx-devel)并安装
  6. 使用uwsigpython and most cmd in Cygwin只能在Cygwin控制台上运行(否则拒绝访问),但是您可以使用uwsgi,将其添加到WINDOWS PATH中,并在以下位置安装django之类的软件包Cygwin控制台。