我有一个没有跟上的旧 Django 项目,现在我想进行必要的更改以使用当前版本的 Django 和相关软件。我不确定如何处理当前的错误;在我看来,它在 django.core 保护伞下没有任何东西,但我的 Django 1.9.2 安装是最新的:
[2016-02-14 17:23:10 +0000] [4605] [错误] 工作进程中的异常: 回溯(最近一次通话最后): 文件“/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 升级): /usr/local/lib/python2.7/dist-packages 中的 Django==1.9.2
如何将我的项目移植到较新的 Django?例如,我如何提供(或告诉它已提供)django.core.management.validation?
如果我可以包括另一个古老的问题,什么代替“python manage.py syncdb”来将数据库初始化为应用程序可以处理的项目?
- 更新 -
我从这张纸条上走开了,想着……
我发布了一个关于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仅在最后一部分中,让人想起Jakob Nielsen 关于为什么用户教育不是解决问题的答案的两篇文章安全问题,以及 Nix 打包系统,它旨在让所有东西都保留其自己需要的包系统版本,而不是让所有东西都适合当前安装的任何版本的单一 Procrustean 床。
这有点偏离我原来的问题,但事实并非如此。我最初的问题是,“我怎样才能稍微洒一点像素灰尘,让一个相当简单的旧 Django 项目重新焕发生机?” 现在事情看起来更像“我不能再运行我留下的作为工作项目的事实是冰山一角。鉴于我是一个体面的 Django 开发人员,但不是一个超级专注的 Django 专家,而且我与很多技术,bitrot 看起来像是很多痛苦的根源。”
好的; 抱怨够多的了,尽管我怀疑这里有一个程序员的帖子。