【发布时间】:2016-02-14 23:30:31
【问题描述】:
我有一个没有跟上的旧 Django 项目,现在我想进行必要的更改以使用当前版本的 Django 和相关软件。我不确定如何处理当前的错误;在我看来,它在 django.core 保护伞下没有任何东西,但我的 Django 1.9.2 安装是最新的:
[2016-02-14 17:23:10 +0000] [4605] [ERROR] 工作进程中的异常:
回溯(最近一次通话最后):
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py”,第 515 行,在 spawn_worker
worker.init_process()
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py”,第 122 行,在 init_process
self.load_wsgi()
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py”,第 130 行,在 load_wsgi
self.wsgi = self.app.wsgi()
wsgi 中的文件“/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py”,第 67 行
self.callable = self.load()
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/app/djangoapp.py”,第 141 行,加载中
mod = util.import_module("gunicorn.app.django_wsgi")
import_module 中的文件“/usr/lib/python2.7/importlib/__init__.py”,第 37 行
__import__(名称)
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/app/django_wsgi.py”,第 21 行,在
从 django.core.management.validation 导入 get_validation_errors
ImportError:没有名为验证的模块
回溯(最近一次通话最后):
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py”,第 515 行,在 spawn_worker
worker.init_process()
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py”,第 122 行,在 init_process
self.load_wsgi()
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py”,第 130 行,在 load_wsgi
self.wsgi = self.app.wsgi()
wsgi 中的文件“/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py”,第 67 行
self.callable = self.load()
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/app/djangoapp.py”,第 141 行,加载中
mod = util.import_module("gunicorn.app.django_wsgi")
import_module 中的文件“/usr/lib/python2.7/importlib/__init__.py”,第 37 行
__import__(名称)
文件“/usr/local/lib/python2.7/dist-packages/gunicorn/app/django_wsgi.py”,第 21 行,在
从 django.core.management.validation 导入 get_validation_errors
ImportError:没有名为验证的模块
[2016-02-14 17:23:10 +0000] [4605] [INFO] 工人退出(pid:4605)
[2016-02-14 17:23:11 +0000] [4597] [INFO] 关机:Master
[2016-02-14 17:23:11 +0000] [4597] [INFO] 原因:Worker 无法启动。
root@localhost:~/unixytalk# pip install Django==1.9.2
已满足要求(使用 --upgrade 升级):Django==1.9.2 in /usr/local/lib/python2.7/dist-packages
如何将我的项目移植到较新的 Django?例如,我如何提供(或告知提供)django.core.management.validation?
如果我可以提出另一个古老的问题,什么可以代替“python manage.py syncdb”来将数据库初始化为应用程序可以处理的项目?
--更新--
我从这张纸条上走开了,在想……
我发布了一个 screenful 的输出,其中 Gunicorn 无法正常工作,这是通过从 django.core.management.validation 导入的,显然是由 Gunicorn 的流程放置在那里的,而不是任何感觉到我主动与该模块直接交互。 (正如我所说,我试图让旧系统与新代码一起工作。至少对于这个项目,这在任何意义上都不包括主动使用 django.core.management.validation。)
不要说得太细,但回复的人与我的一屏粘贴输出相关,为 TL;DR。
为 TL;DR 设定步伐的不是我;是帮助我的人。
根据“全选并复制”上呈现字符的复制和粘贴指标,TL;DR 为 2412 个字符。
大量的发行说明,有 53714 个字符,符合 TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL ;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR TL;DR 仅在最后一期中, strong> 让人想起 Jakob Nielsen's article on why user education is not the answer to security issues 和 Nix 打包系统,该系统旨在让所有东西都保留其自己需要的包系统版本,而不是让所有东西都适合当前安装的任何版本的单一 Procrustean 床。
这有点偏离我原来的问题,但事实并非如此。我最初的问题是,“我怎样才能稍微洒一点像素灰尘,让一个相当简单的旧 Django 项目重新焕发生机?”现在事情看起来更像“我不能再运行我留下的作为工作项目的事实是冰山一角。鉴于我是一个体面的 Django 开发人员,但不是一个超级专注的 Django 专家,而且我与很多技术,bitrot 看起来是很多痛苦的根源。”
好的;抱怨得够多了,虽然我怀疑这里有一个程序员的帖子。
【问题讨论】:
标签: python django django-1.9 django-mysql