【问题标题】:python3 django apache on debian mintDebian Mint 上的 python3 django apache
【发布时间】:2016-04-18 02:33:44
【问题描述】:

似乎我无法让它工作。当我访问 URL 时,屏幕上会显示“内部服务器错误”。我的工具是 python 3.5.1、apache 2.2 和 django 1.8.7

这是我的 /etc/apache2/httpd.conf

WSGIScriptAlias / /var/www/people/people/wsgi.py
WSGIPythonPath /var/www/people:/usr/local/opt/python-3.5.1/lib/python3.5/site-packages

Alias /static/ /var/www/people/static/

<Directory /var/www/people/people>
<Files wsgi.py>
Allow from all
</Files>
</Directory>

<Directory /var/www/people/static>
Allow from all
</Directory>

这是我的 wsgi.py

"""
WSGI config for people project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "people.settings")
# os.environ["DJANGO_SETTINGS_MODULE"] = "people.settings"

application = get_wsgi_application()

这是我的 apache 日志中的错误

mod_wsgi (pid=2732): Target WSGI script '/var/www/people/people/wsgi.py' cannot be loaded as Python module.,
mod_wsgi (pid=2732): Exception occurred processing WSGI script '/var/www/people/people/wsgi.py'.,
Traceback (most recent call last):,
  File "/var/www/people/people/wsgi.py", line 12, in <module>,
    from django.core.wsgi import get_wsgi_application,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/core/wsgi.py", line 2, in <module>,
    from django.core.handlers.wsgi import WSGIHandler,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/core/handlers/wsgi.py", line 11, in <module>,
    from django import http,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/http/__init__.py", line 4, in <module>,
    from django.http.response import (,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/http/response.py", line 13, in <module>,
    from django.core.serializers.json import DjangoJSONEncoder,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/core/serializers/__init__.py", line 24, in <module>,
    from django.core.serializers.base import SerializerDoesNotExist,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/core/serializers/base.py", line 6, in <module>,
    from django.db import models,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/__init__.py", line 6, in <module>,
    from django.db.models.query import Q, QuerySet, Prefetch  # NOQA,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/query.py", line 16, in <module>,
    from django.db.models import sql,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/sql/__init__.py", line 2, in <module>,
    from django.db.models.sql.subqueries import *  # NOQA,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/sql/subqueries.py", line 9, in <module>,
    from django.db.models.sql.query import Query,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/sql/query.py", line 17, in <module>,
    from django.db.models.aggregates import Count,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/aggregates.py", line 5, in <module>,
    from django.db.models.expressions import Func, Star,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/expressions.py", line 7, in <module>,
    from django.db.models import fields,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 9, in <module>,
    import uuid,
  File "/usr/local/opt/python-3.5.1/lib/python3.5/site-packages/uuid.py", line 138,
    if not 0 <= time_low < 1<<32L:,
                                ^,
SyntaxError: invalid syntax,

【问题讨论】:

  • 我已从您的问题中删除了 requirements.txt,因为我认为这不是问题的一部分,如果其他人这样做,他们可能会在编辑历史记录中找到它们。对我来说,您的代码中似乎有一个错误的逗号
  • 你可以使用./manage.py runserver在本地运行应用程序吗?
  • @JasonEstibeiro,是的,我可以,但这不是我想要的。我希望它在 people.manship.com 的虚拟主机服务器上运行

标签: django apache debian python-3.5


【解决方案1】:

您安装的 uuid 库与 Python 3 不兼容。

但是没有必要,因为 Python 从 Python 2.5 开始在标准库中包含了一个 uuid 模块 - 实际上是同一包的升级版本。卸载该库并将其从您的 requirements.txt 中删除。

【讨论】:

  • 已删除但仍无法正常工作。我感觉它正在尝试读取python3.2版本
猜你喜欢
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
相关资源
最近更新 更多