针对使用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的模块
- django – ImportError:没有名为south的模块
- django1.4.0:ImportError:没有名为base的模块
- ImportError:没有名为 dateutil.parser 的模块
- ImportError:没有名为 PIL 的模块
使用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的模块
我认为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.7.
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 的模块
pandas
在Python
程序中导入时收到以下错误
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 的模块
我在 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 的模块等相关知识的信息别忘了在本站进行查找喔。
本文标签: