设为首页 加入收藏

TOP

Django 踩过的坑(二)(一)
2017-10-05 15:04:05 】 浏览:3700
Tags:Django

最近在折腾Django的WSGI应用,虽然Django自带的runserver很方便,但是对于复杂的功能它就无能为力了。

首先在Windows上遇到坑了,然后在windows10自带的Ubuntu遇到坑了,最后在虚拟机上总算解决了。

从以前的文章Django笔记《Django 学习笔记(二)第一个网页》可以看出我用的是windows10系统中的cmd来进行Django操作的,由于gunicorn应用是在unix系统中运行的,强制性在win平台运行就出错了。

1.windows遇到坑:

首先 cmd中输入:pip3 install gunicorn ,安装成功后,切换到项目目录(G:/Django/hello),具体操作是先切换到G盘,直接输入G:,接着输入cd Django\hello 就会出现 G:\Django\hello>这种情况。然后运行gunicorn,在Django项目中格式是:gunicorn yourproject.wsgi [-b 127.0.0.1.8000],括号内为选填,其他命令参数可以发送 gunicorn -h得到帮助文档。我这边的项目是hello,所以我的命令操作是:gunicorn hello.wsgi ,然后呢,出错ModuleNotFoundError: No module named 'pwd',没有pwd模块,好吧,没有找呗。找到后的代码贴在下面了,把找到的pwd.py放进了python3的安装目录D:\Program Files\Python\Python36\Lib,接着我们再运行gunicorn hello.wsgi ,结果又出错了:AttributeError: module 'socket' has no attribute 'AF_UNIX' ,然后我又在网上找,gunicorn是unix系统中的应用,将其用在windows上兼容性是个大大的问题,如果按照错误一个个解决将是一个庞大的工程,所以转战unix系统,windows在gunicorn上弃坑。

G:\Django\hello>gunicorn hello.wsgi
Traceback (most recent call last):
  File "d:\program files\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\program files\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Program Files\Python\Python36\Scripts\gunicorn.exe\__main__.py", line 5, in <module>
  File "d:\program files\python\python36\lib\site-packages\gunicorn\app\wsgiapp.py", line 10, in <module>
    from gunicorn.app.base import Application
  File "d:\program files\python\python36\lib\site-packages\gunicorn\app\base.py", line 12, in <module>
    from gunicorn import util
  File "d:\program files\python\python36\lib\site-packages\gunicorn\util.py", line 13, in <module>
    import pwd
ModuleNotFoundError: No module named 'pwd'
ModuleNotFoundError: No module named 'pwd'
from os import * 
from pwd import * 

def get_username():
    return getpwuid(getuid())[0]
pwd.py
G:\Django\hello>gunicorn hello.wsgi
Traceback (most recent call last):
  File "d:\program files\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\program files\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Program Files\Python\Python36\Scripts\gunicorn.exe\__main__.py", line 5, in <module>
  File "d:\program files\python\python36\lib\site-packages\gunicorn\app\wsgiapp.py", line 10, in <module>
    from gunicorn.app.base import Application
  File "d:\program files\python\python36\lib\site-packages\gunicorn\app\base.py", line 13, in <module>
    from gunicorn.arbiter import Arbiter
  File "d:\program files\python\python36\lib\site-packages\gunicorn\arbiter.py", line 18, in <module>
    from gunicorn import sock, systemd, util
  File "d:\program files\python\python36\lib\site-packages\gunicorn\sock.py", line 101, in <module>
    class UnixSocket(BaseSocket):
  File "d:\program files\python\python36\lib\site-packages\gunicorn\sock.py", line 103, in UnixSocket
    FAMILY = socket.AF_UNIX
AttributeError: module 'socket' has no attribute 'AF_UNIX'
AttributeError: modul
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇linux6.5环境下安装python 下一篇安装Python-Windows

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目