GVKun编程网logo

使用gunicorn部署Django没有名为ImportError的模块:没有名为validation的模块

14

针对使用gunicorn部署Django没有名为ImportError的模块:没有名为validation的模块这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展django–ImportErr

针对使用gunicorn部署Django没有名为ImportError的模块:没有名为validation的模块这个问题,本篇文章进行了详细的解答,同时本文还将给你拓展django – ImportError:没有名为south的模块、django1.4.0:ImportError:没有名为base的模块、ImportError:没有名为 dateutil.parser 的模块、ImportError:没有名为 PIL 的模块等相关知识,希望可以帮助到你。

本文目录一览:

使用gunicorn部署Django没有名为ImportError的模块:没有名为validation的模块

使用gunicorn部署Django没有名为ImportError的模块:没有名为validation的模块

我尝试使用Nginx,gunicorn和virtualenv部署我的Django项目。 但即时通讯运行此评论时得到以下错误

sudo gunicorn_django --bind test.com:8001

日志:

Traceback (most recent call last): File "/opt/postjust/lib/python2.7/site-packages/gunicorn/arbiter.py",line 503,in spawn_worker worker.init_process() File "/opt/postjust/lib/python2.7/site-packages/gunicorn/workers/base.py",line 116,in init_process self.wsgi = self.app.wsgi() File "/opt/postjust/lib/python2.7/site-packages/gunicorn/app/base.py",line 67,in wsgi self.callable = self.load() File "/opt/postjust/lib/python2.7/site-packages/gunicorn/app/djangoapp.py",line 105,in load mod = util.import_module("gunicorn.app.django_wsgi") File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py",line 37,in import_module __import__(name) File "/opt/postjust/lib/python2.7/site-packages/gunicorn/app/django_wsgi.py",line 21,in <module> from django.core.management.validation import get_validation_errors ImportError: No module named validation [2015-02-23 00:58:17 +0200] [10584] [INFO] Worker exiting (pid: 10584) [2015-02-23 00:58:17 +0200] [10581] [INFO] Shutting down: Master [2015-02-23 00:58:17 +0200] [10581] [INFO] Reason: Worker Failed to boot.

该项目在当地运行良好。

这是我的settings.py文件:

资源暂时不可用使用uwsgi + Nginx

在Django / Nginx中限制对静态文件的访问

什么应该是我的Django应用程序的URL

如何在virtualBox / vagrant服务器中访问django网站?

Apache服务器没有使用适当的virtualenv与Wsgi设置

""" Django settings for postjust project. For more information on this file,see https://docs.djangoproject.com/en/1.7/topics/settings/ For the full list of settings and their values,see https://docs.djangoproject.com/en/1.7/ref/settings/ """ # Build paths inside the project like this: os.path.join(BASE_DIR,...) import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/ # Security WARNING: keep the secret key used in production secret! SECRET_KEY = ''jb-@(98(ew4kkociwv+2y(3799r*vug7-$g)e=6wsxigrk30=!'' # Security WARNING: don''t run with debug turned on in production! DEBUG = False TEMPLATE_DEBUG = False ALLOWED_HOSTS = [] # Application deFinition INSTALLED_APPS = ( ''django.contrib.admin'',''django.contrib.auth'',''django.contrib.contenttypes'',''django.contrib.sessions'',''django.contrib.messages'',''django.contrib.staticfiles'',''blog'' ) MIDDLEWARE_CLASSES = ( ''django.contrib.sessions.middleware.SessionMiddleware'',''django.middleware.common.CommonMiddleware'',''django.middleware.csrf.CsrfViewMiddleware'',''django.contrib.auth.middleware.AuthenticationMiddleware'',''django.contrib.auth.middleware.SessionAuthenticationMiddleware'',''django.contrib.messages.middleware.MessageMiddleware'',''django.middleware.clickjacking.XFrameOptionsMiddleware'',) ROOT_URLconf = ''postjust.urls'' Wsgi_APPLICATION = ''postjust.wsgi.application'' # Database # https://docs.djangoproject.com/en/1.7/ref/settings/#databases DATABASES = { ''default'': { ''ENGINE'': ''django.db.backends.sqlite3'',''NAME'': os.path.join(BASE_DIR,''db.sqlite3''),} } # Internationalization # https://docs.djangoproject.com/en/1.7/topics/i18n/ LANGUAGE_CODE = ''en-us'' TIME_ZONE = ''UTC'' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS,JavaScript,Images) # https://docs.djangoproject.com/en/1.7/howto/static-files/ STATIC_URL = ''/static/''

我在virtualenv上的点子列表:

Django(1.7.4)

gunicorn(19.2.1)

点(6.0.8)

setuptools(12.0.5)

–Python 2.7.8

为什么Python / Django保持redirect到另一个URL?

Django错误发送电子邮件thrue谷歌应用程序

python覆盖python作为默认的网站包目录窗口7

国际化Django(在OSX上)

用于Django应用程序的uWsgi + Nginx避免了pylibmcmultithreading并发问题?

将gunicorn_django改为gunicorn newApp.wsgi:application应该修复这个问题。

不再推荐使用gunicorn_django 。 这是因为它调用了不推荐使用的django_wsgi.py ,并引发了导入错误。

更多信息: http : //www.rkblog.rk.edu.pl/w/p/first-impressions-django-17-beta-upgrade-young-project/

它看起来像django wsgi文件gunicorn django依赖。 (最后一行堆栈跟踪。) https://github.com/benoitc/gunicorn/blob/e0b3c42dd2c31b2f60abd6833401bd8eed116dc6/gunicorn/app/django_wsgi.py#L21

它在我看来像gunicorn无法找到Django的道路上。

总结

以上是小编为你收集整理的使用gunicorn部署Django没有名为ImportError的模块:没有名为validation的模块全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

django – ImportError:没有名为south的模块

django – ImportError:没有名为south的模块

运行syncdb时遇到错误`ImportError:没有名为south的模块.有什么建议? Django 1.5.1和 Python 2.7.5

我认为South已经安装,因为我刚刚运行easy_install并且得到了

[ckoziak@web415 mvp_landing]$easy_install south
Searching for south
Best match: South 0.8.1
Processing South-0.8.1-py2.4.egg
South 0.8.1 is already the active version in easy-install.pth

Using /home/ckoziak/lib/python2.4/South-0.8.1-py2.4.egg
Processing dependencies for south
Finished processing dependencies for south

但在此之前我运行pip install south并获得:

[ckoziak@web415 mvp_landing]$ls
join  manage.py  mvp_landing  static
[ckoziak@web415 mvp_landing]$pip install south
Traceback (most recent call last):
File "/home/ckoziak/bin/pip",line 7,in ?
sys.exit(
File "/usr/local/lib/python2.4/site-packages/pkg_resources.py",line 277,in       load_entry_point
return get_distribution(dist).load_entry_point(group,name)
File "/usr/local/lib/python2.4/site-packages/pkg_resources.py",line 2180,in load_entry_point
return ep.load()
File "/usr/local/lib/python2.4/site-packages/pkg_resources.py",line 1913,in load
entry = __import__(self.module_name,globals(),[''__name__''])
File "/home/ckoziak/lib/python2.4/pip-1.4-py2.4.egg/pip/__init__.py",line 10,in ?
from pip.util import get_installed_distributions,get_prog
File "/home/ckoziak/lib/python2.4/pip-1.4-py2.4.egg/pip/util.py",line 17,in ?
from pip.vendor.distlib import version
File "/home/ckoziak/lib/python2.4/pip-1.4-py2.4.egg/pip/vendor/__init__.py",line 8
from __future__ import absolute_import
SyntaxError: from __future__ imports must occur at the beginning of the file

‘south’is在我的设置文件中.我有一个本地和现场版本__init__joining他们

__在里面__:

from .base import *

try:
    from .local import *
except:
    pass

try:
    from .live import *
except:
    pass

.local(设置文件),减去db信息:

MEDIA_ROOT = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),"static","media")

STATIC_ROOT =  os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),"static-only")

STATICFILES_Dirs = (
    os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),"static"),)

TEMPLATE_Dirs = (
    os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),"templates"),)
INSTALLED_APPS = (
''django.contrib.auth'',''django.contrib.contenttypes'',''django.contrib.sessions'',''django.contrib.sites'',''django.contrib.messages'',''django.contrib.staticfiles'',# Uncomment the next line to enable the admin:
''django.contrib.admin'',# Uncomment the next line to enable admin documentation:
''django.contrib.admindocs'',''south'',''join'',)

.live(设置文件)尚未设置数据库:

MEDIA_ROOT = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),)

INSTALLED_APPS = (
    ''django.contrib.auth'',# Uncomment the next line to enable the admin:
    ''django.contrib.admin'',# Uncomment the next line to enable admin documentation:
    ''django.contrib.admindocs'',)

解决方法

错误消息说您已安装到Python 2.4南部.

你应该安装南到python 2.7.

django1.4.0:ImportError:没有名为base的模块

django1.4.0:ImportError:没有名为base的模块

现在我有一个问题作为标题.这是我的环境:

> OS:ubuntu 10.10
> Python:2.6.6
> Django:1.4 pre-alpha

之前,我为The Django Book安装了Django 1.1.1.今天,我通过cmd删除了Django 1.1.1:sudo apt-get install –purge python-django,然后获得最新版本的1.4 pre-alpha.

当我在docs.djangoproject.com上关注tutorial并执行cmd:python manage.py shell时,会出现一些错误,并且信息如下:

Traceback (most recent call last):
      File "manage.py",line 9,in <module>
        execute_from_command_line(sys.argv)
      File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py",line 422,in execute_from_command_line
        utility.execute()
      File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py",line 361,in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py",line 191,in run_from_argv
        self.execute(*args,**options.__dict__)
      File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py",line 222,in execute
        output = self.handle(*args,**options)
      File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py",line 355,in handle
        return self.handle_noargs(**options)
      File "/usr/local/lib/python2.6/dist-packages/django/core/management/commands/shell.py",line 46,in handle_noargs
        from django.db.models.loading import get_models
      File "/usr/local/lib/python2.6/dist-packages/django/db/__init__.py",line 27,in <module>
        connection = connections[DEFAULT_DB_ALIAS]
      File "/usr/local/lib/python2.6/dist-packages/django/db/utils.py",line 81,in __getitem__
        backend = load_backend(db['ENGINE'])
      File "/usr/local/lib/python2.6/dist-packages/django/db/utils.py",line 23,in load_backend
        return import_module('.base',backend_name)
      File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py",line 35,in import_module
        __import__(name)
    ImportError: No module named base

有些人可以告诉我如何解决这个问题?

谢谢!!

解决方法

问题可能是因为您的数据库后端没有完整路径.你可能有:

'ENGINE': 'sqlite3',

代替:

'ENGINE': 'django.db.backends.sqlite3',

ImportError:没有名为 dateutil.parser 的模块

ImportError:没有名为 dateutil.parser 的模块

pandasPython程序中导入时收到以下错误

monas-mbp:book mona$ sudo pip install python-dateutil
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Cleaning up...
monas-mbp:book mona$ python t1.py
No module named dateutil.parser
Traceback (most recent call last):
  File "t1.py",line 4,in <module>
    import pandas as pd
  File "/Library/Python/2.7/site-packages/pandas/__init__.py",line 6,in <module>
    from . import hashtable,tslib,lib
  File "tslib.pyx",line 31,in init pandas.tslib (pandas/tslib.c:48782)
ImportError: No module named dateutil.parser

还有这里的程序:

import codecs 
from math import sqrt
import numpy as np
import pandas as pd

users = {"Angelica": {"Blues Traveler": 3.5,"Broken Bells": 2.0,"Norah Jones": 4.5,"Phoenix": 5.0,"Slightly Stoopid": 1.5,"The Strokes": 2.5,"Vampire Weekend": 2.0},"Bill":{"Blues Traveler": 2.0,"Broken Bells": 3.5,"Deadmau5": 4.0,"Phoenix": 2.0,"Slightly Stoopid": 3.5,"Vampire Weekend": 3.0},"Chan": {"Blues Traveler": 5.0,"Broken Bells": 1.0,"Deadmau5": 1.0,"Norah Jones": 3.0,"Phoenix": 5,"Slightly Stoopid": 1.0},"Dan": {"Blues Traveler": 3.0,"Broken Bells": 4.0,"Deadmau5": 4.5,"Phoenix": 3.0,"Slightly Stoopid": 4.5,"The Strokes": 4.0,"Hailey": {"Broken Bells": 4.0,"Norah Jones": 4.0,"Vampire Weekend": 1.0},"Jordyn":  {"Broken Bells": 4.5,"Norah Jones": 5.0,"Vampire Weekend": 4.0},"Sam": {"Blues Traveler": 5.0,"Slightly Stoopid": 4.0,"The Strokes": 5.0},"Veronica": {"Blues Traveler": 3.0,"Phoenix": 4.0,"Slightly Stoopid": 2.5,"The Strokes": 3.0}
        }



class recommender:

    def __init__(self,data,k=1,metric='pearson',n=5):
        """ initialize recommender
        currently,if data is dictionary the recommender is initialized
        to it.
        For all other data types of data,no initialization occurs
        k is the k value for k nearest neighbor
        metric is which distance formula to use
        n is the maximum number of recommendations to make"""
        self.k = k
        self.n = n
        self.username2id = {}
        self.userid2name = {}
        self.productid2name = {}
        # for some reason I want to save the name of the metric
        self.metric = metric
        if self.metric == 'pearson':
            self.fn = self.pearson
        #
        # if data is dictionary set recommender data to it
        #
        if type(data).__name__ == 'dict':
            self.data = data

    def convertProductID2name(self,id):
        """Given product id number return product name"""
        if id in self.productid2name:
            return self.productid2name[id]
        else:
            return id


    def userRatings(self,id,n):
        """Return n top ratings for user with id"""
        print ("Ratings for " + self.userid2name[id])
        ratings = self.data[id]
        print(len(ratings))
        ratings = list(ratings.items())
        ratings = [(self.convertProductID2name(k),v)
                   for (k,v) in ratings]
        # finally sort and return
        ratings.sort(key=lambda artistTuple: artistTuple[1],reverse = True)
        ratings = ratings[:n]
        for rating in ratings:
            print("%s\t%i" % (rating[0],rating[1]))




    def loadBookDB(self,path=''):
        """loads the BX book dataset. Path is where the BX files are
        located"""
        self.data = {}
        i = 0
        #
        # First load book ratings into self.data
        #
        f = codecs.open(path + "BX-Book-Ratings.csv",'r','utf8')
        for line in f:
            i += 1
            #separate line into fields
            fields = line.split(';')
            user = fields[0].strip('"')
            book = fields[1].strip('"')
            rating = int(fields[2].strip().strip('"'))
            if user in self.data:
                currentRatings = self.data[user]
            else:
                currentRatings = {}
            currentRatings[book] = rating
            self.data[user] = currentRatings
        f.close()
        #
        # Now load books into self.productid2name
        # Books contains isbn,title,and author among other fields
        #
        f = codecs.open(path + "BX-Books.csv",'utf8')
        for line in f:
            i += 1
            #separate line into fields
            fields = line.split(';')
            isbn = fields[0].strip('"')
            title = fields[1].strip('"')
            author = fields[2].strip().strip('"')
            title = title + ' by ' + author
            self.productid2name[isbn] = title
        f.close()
        #
        #  Now load user info into both self.userid2name and
        #  self.username2id
        #
        f = codecs.open(path + "BX-Users.csv",'utf8')
        for line in f:
            i += 1
            #print(line)
            #separate line into fields
            fields = line.split(';')
            userid = fields[0].strip('"')
            location = fields[1].strip('"')
            if len(fields) > 3:
                age = fields[2].strip().strip('"')
            else:
                age = 'NULL'
            if age != 'NULL':
                value = location + '  (age: ' + age + ')'
            else:
                value = location
            self.userid2name[userid] = value
            self.username2id[location] = userid
        f.close()
        print(i)


    def pearson(self,rating1,rating2):
        sum_xy = 0
        sum_x = 0
        sum_y = 0
        sum_x2 = 0
        sum_y2 = 0
        n = 0
        for key in rating1:
            if key in rating2:
                n += 1
                x = rating1[key]
                y = rating2[key]
                sum_xy += x * y
                sum_x += x
                sum_y += y
                sum_x2 += pow(x,2)
                sum_y2 += pow(y,2)
        if n == 0:
            return 0
        # now compute denominator
        denominator = (sqrt(sum_x2 - pow(sum_x,2) / n)
                       * sqrt(sum_y2 - pow(sum_y,2) / n))
        if denominator == 0:
            return 0
        else:
            return (sum_xy - (sum_x * sum_y) / n) / denominator


    def computeNearestNeighbor(self,username):
        """creates a sorted list of users based on their distance to
        username"""
        distances = []
        for instance in self.data:
            if instance != username:
                distance = self.fn(self.data[username],self.data[instance])
                distances.append((instance,distance))
        # sort based on distance -- closest first
        distances.sort(key=lambda artistTuple: artistTuple[1],reverse=True)
        return distances

    def recommend(self,user):
       """Give list of recommendations"""
       recommendations = {}
       # first get list of users  ordered by nearness
       nearest = self.computeNearestNeighbor(user)
       #
       # now get the ratings for the user
       #
       userRatings = self.data[user]
       #
       # determine the total distance
       totalDistance = 0.0
       for i in range(self.k):
          totalDistance += nearest[i][1]
       # now iterate through the k nearest neighbors
       # accumulating their ratings
       for i in range(self.k):
          # compute slice of pie 
          weight = nearest[i][1] / totalDistance
          # get the name of the person
          name = nearest[i][0]
          # get the ratings for this person
          neighborRatings = self.data[name]
          # get the name of the person
          # now find bands neighbor rated that user didn't
          for artist in neighborRatings:
             if not artist in userRatings:
                if artist not in recommendations:
                   recommendations[artist] = (neighborRatings[artist]
                                              * weight)
                else:
                   recommendations[artist] = (recommendations[artist]
                                              + neighborRatings[artist]
                                              * weight)
       # now make list from dictionary
       recommendations = list(recommendations.items())
       recommendations = [(self.convertProductID2name(k),v)
                          for (k,v) in recommendations]
       # finally sort and return
       recommendations.sort(key=lambda artistTuple: artistTuple[1],reverse = True)
       # Return the first n items
       return recommendations[:self.n]

r = recommender(users)
# The author implementation
r.loadBookDB('/Users/mona/Downloads/BX-Dump/')

ratings = pd.read_csv('/Users/danialt/BX-CSV-Dump/BX-Book-Ratings.csv',sep=";",quotechar="\"",escapechar="\\")
books = pd.read_csv('/Users/danialt/BX-CSV-Dump/BX-Books.csv',escapechar="\\")
users = pd.read_csv('/Users/danialt/BX-CSV-Dump/BX-Users.csv',escapechar="\\")



pivot_rating = ratings.pivot(index='User-ID',columns='ISBN',values='Book-Rating')

ImportError:没有名为 PIL 的模块

ImportError:没有名为 PIL 的模块

我在 shell 中使用这个命令来安装 PIL:

easy_install PIL

然后我运行python并输入:import PIL。但我得到这个错误:

Traceback (most recent call last):  File "<console>", line 1, in <module>ImportError: No module named PIL

我从来没有遇到过这样的问题,你怎么看?

答案1

小编典典

在 PIL 的某些安装中,您必须执行

import Image

而不是import PIL(实际上 PIL 并不总是以这种方式导入)。由于import Image对您有用,这意味着您实际上已经安装了 PIL。

为库和 Python 模块使用不同的名称是不寻常的,但这是为(某些版本的)PIL 选择的名称。

您可以从官方教程中获得有关如何使用该模块的更多信息。

PS :事实上,在 某些 安装上,import PIL 确实 有效,这增加了混乱。正如@JanneKarila
发现的,文档中的一个示例以及 MacPorts PIL
包(1.1.7)的一些更新版本也证实了这一点。

关于使用gunicorn部署Django没有名为ImportError的模块:没有名为validation的模块的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于django – ImportError:没有名为south的模块、django1.4.0:ImportError:没有名为base的模块、ImportError:没有名为 dateutil.parser 的模块、ImportError:没有名为 PIL 的模块等相关知识的信息别忘了在本站进行查找喔。

本文标签: