`
canofy
  • 浏览: 829780 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

flup安装问题

阅读更多
   在windows下flup一直安装不上,不知道为什么,在linux下面安装一次就成功了~~
同样的安装方式,网上搜索了半天,都是一笔带过,都没有说怎么在Windows下具体的安装方式,找到一个也碰到我这样的问题的帖子,但没有解决办法,很郁闷耶~~~
   安装方式如下(python版本为2.5):
   从网站上下载flup-1.0.1.tar.gz版本,解压缩至c盘,然后进入到解压缩的目录,在dos下执行python setup.py install 命令,执行完后在python环境下输入import flup.server.fcgi_fort ,报错,具体错误如下:
>>> import flup.server.fcgi_fort
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named fcgi_fort

执行from flup.server.fcgi_fork import WSGIServer,也报错,错误信息如下:
>>> from flup.server.fcgi_fork import WSGIServer
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build\bdist.win32\egg\flup\server\fcgi_fork.py", line 56, in <module>
  File "build\bdist.win32\egg\flup\server\preforkserver.py", line 53, in <module
>
ImportError: Requires eunuchs module for Python < 2.4

没有看懂这些信息,下班后回去再试一下~~~

难道是传说中的操作系统因素,公司的电脑是win2003的~~

回去后用xp试试~~~

试了一试,好像是版本不一致,在windows xp下安装,也报上面的错误,
后来又试了一下其它的文件,如:import flup.server.scgi,import flup.server.fcgi_base都是正确的~~~
现在还不清楚为啥装不上~~~
继续查原因~~~

由import flup.server.fcgi_fork这个产生的错误信息进入到preforkserver.py文件

确认了是from flup.server.preforkserver import PreforkServer这句出错

再通过import flup.server.preforkserver这个产生的信息知道了是import eunuchs.socketpair这句抛出了异常,异常信息如下:
raise ImportError, 'Requires eunuchs module for Python < 2.4',好像是需要eunuchs相应的东东,

eunuchs从网上下载下来了,但里面的文件又是以.so结尾的文件,
需要用到ctypes 模块(需要去google上搜),它提供跨平台的动链接库的直接调用。windows下是dll,*nix下是.so或.sl吧。
哎~~~~这个貌似又是linux下的东东,都不知道该怎么弄了~~~

http://code.djangoproject.com/ticket/8742这篇文章上写了一些相关的信息,如下:
Django FastCGI cannot be used on Windows, and possibly other non-Unix environments.

Currently the FastCGI feature of Django (manage.py runfcgi) relies on the Python library 'flup', which relies on Unix-only socket functions (socket.socketpair(), socket.fromfd(), etc.) making it impossible to use the FastCGI feature of Django on non-Unix envs like Windows, and hence, making it impossible to serve Django with non-Apache (non-mod_python) httpds like lighttpd on non-Unix envs.

Possible solutions: The function socketpair() is unofficially implemented on Windows by a recipe. (http://code.activestate.com/recipes/525487/) Committing this patch to the flup project is not a hard work. However, the function fromfd() has nothing like that. There is a patch enabling its Windows use (http://bugs.python.org/issue1378) but the patch is not yet applied on the Windows release, even on Python 2.6b2. Rewriting the FastCGI feature with python-fastcgi (http://pypi.python.org/pypi/python-fastcgi) could be a more work than flup, but then the feature can support Windows.

Unix environments, especially GNU/Linux, is of course better than Windows to be used as a web server, but there are some situations where Windows and FastCGI have to be used. It would be good to have Django FastCGI available on Windows.


进入到http://code.activestate.com/recipes/525487/这个网址,把上面的代码复制到preforkserver.py中,把下面的代码删掉:
try:
        import eunuchs.socketpair
    except ImportError:
        # TODO: Other alternatives? Perhaps using os.pipe()?
        raise ImportError, 'Requires eunuchs module for Python < 2.4'
把def socketpair()方法下的 s1, s2 = eunuchs.socketpair.socketpair()修改为s1, s2 = SocketPair,之后在python环境中输入import flup.server.fcgi_fork,就没有出错了

这样终于没有报错了,但新的问题又出现了~~
执行下面的语句:
python manage.py runfcgi method=threaded host=127.0.0.1 port=8050 daemonize=false
在浏览器中输入http://127.0.0.1:8050/,貌似一直在请求,但得不到结果,不知道是什么原因,什么提示也没有
ps:在更改flup的东西以前执行上面的语句和之后得到的结果一致(极有可能是修改有误,不知道别人是怎么在Windows下安装flup的,新手的困惑啊)~~~
哎~~~~~~~~~~~~~~~~~~~~~
怀疑最初的想法是否正确~~~





附件为flup-1.0.1.tar.gz
分享到:
评论
3 楼 ruijf 2011-02-17  
flup.server.fcgi_fort
这个是flup在linux下运行的一种方式,windows是没有的
2 楼 xie_en 2009-10-23  
python 用的我有一种想死的冲动……
1 楼 linvar 2009-06-22  
我刚遇到同样问题, 按LZ的做法确实能runfcgi.
LZ最后那个问题是因为runfcgi是 fastCGI 协议,
你需要web server用fastCGI协议去访问,
比如 apache, httpttd, nginx 这些web server.
不过我使用nginx windows版本并不能够使用 fastCGI,
应该是操作系统实现问题,
不知道其他两个能不能实现

相关推荐

    flup安装包

    要安装Flup,你可以使用Python的包管理器pip。首先确保你已经安装了pip,然后在命令行输入以下命令: ```bash pip install flup ``` 安装完成后,你可以根据你的WSGI应用创建一个FastCGI服务器。例如,如果你有一...

    flup3-master包

    2. 安装Flup:由于flup3-master是一个包含Flup的项目,你需要解压并安装。在命令行中,你可以使用pip来安装,如果flup不在PyPI上,可能需要从源代码编译。 3. 安装Nginx:下载适用于Windows的Nginx安装包,按照提示...

    python flup

    1. **安装FLUP**:可以通过Python的pip工具来安装FLUP,例如运行`pip install flup-1.0.2`。 2. **创建WSGI应用**:编写符合WSGI规范的Python应用,这通常是一个接收请求和返回响应的函数。 3. **配置FastCGI...

    web.py flup

    2. 使用flup:要使用flup运行web.py应用,你需要先安装flup库,然后通过flup的FCGIServer类启动你的应用。例如: ```python from flup.server.fcgi import WSGIServer from myapp import app if __name__ == '__...

    flup-1.0.1

    **Flup介绍** Flup是Python编程语言中一个至关重要的库,主要用于支持FastCGI协议。...Flup作为Python与...通过正确安装和配置Flup,你可以轻松地将Python应用部署到各种Web服务器上,享受到FastCGI带来的性能优势。

    distribute-0.7.3,flup3-master

    python3下运行django1,6不能运行提示需要安装flup,但是flup1.02不能安装在python3下的,需要安装flup3-master,安装flup3-master需要先安装distribute-0.7.3

    Python库 | flup-1.0.3.dev_20110111-py2.7.egg

    资源分类:Python库 所属语言:Python 资源全名:flup-1.0.3.dev_20110111-py2.7.egg 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    flup-py3-master

    标题“flup-py3-master”暗示我们正在讨论一个与Python 3版本相关的项目,该项目可能使用了名为“flup”的库。Flup是一个用于在Python中创建FastCGI服务器的模块,它允许Python应用程序与Web服务器(如Nginx)进行...

    Windows系统下使用flup搭建Nginx和Python环境的方法

    首先确保你的电脑里已经安装了Python和Django,接下来我们还需要两个组件,nginx服务器和flup(Python的FastCGI组件) nginx下载地址:http://nginx.org/en/download.html flup下载地址:...

    Page Flup-crx插件

    安装Page Flup非常简单,只需将其CRX文件(Page_Flup.crx)添加到支持此类扩展的浏览器中,如Google Chrome或基于Chromium的浏览器。CRX文件是一种特殊的压缩格式,包含了扩展的所有代码和资源,用户无需进行额外的...

    Flup页面「Page Flup」-crx插件

    用鼠标翻页 这个小扩展可以让你节省宝贵的时间。只需安装它,打开您最喜爱的网站,将鼠标移动到左侧,直到停止并点击 - 页面将被抬起。 支持语言:English,русский

    在Windows系统上搭建Nginx+Python+MySQL环境的教程

    2 安装flup 下载对应版本的flup,这里下载flup3.x版本,适合python3.2,下载地址:https://github.com/chxanders/flup3 解压(比如解压到D:\flup) 安装(进入到python的安装路径,然后执行下面的命令 &gt;pyt

    flupy:python和shell的流利数据管道

    用pip安装flupy: $ pip install flupy 图书馆 from itertools import count from flupy import flu # Processing an infinite sequence in constant memory pipeline = ( flu ( count ()) . map ( lambda x : x...

    LIGHTTTP配置

    对于Python应用,需要使用类似Flup这样的库来创建FastCGI服务器。 **2.3 SSL** Lighttpd也支持SSL加密连接,以确保数据传输的安全。 **2.3.1 Server Name Indication (SNI)** SNI允许单个IP地址承载多个SSL证书,...

    berrystats:FlaskJinja2 Web 应用程序报告有关 Raspberry Pi 的各种统计信息

    需要:Nginx、Python 2、Flask、Jinja 2、Flup 和大约 10MB 的 RAM 截图 主页选项卡:: 系统选项卡: 关于选项卡: 安装 安装依赖: 拱: $ sudo pacman -S git nginx python2 python2-distribute $ sudo easy_...

    在Mac OS上部署Nginx和FastCGI以及Flask框架的教程

    这些知识点覆盖了从安装必要的软件到部署并解决可能出现的问题的整个流程。这些操作对于开发者来说十分关键,尤其是在学习如何将Web应用上线的过程中。通过本教程的指引,开发者可以在Mac OS上成功部署一个基于Flask...

Global site tag (gtag.js) - Google Analytics