【问题标题】:Openshift: Installing Django 1.5 causes Server 500 errorOpenshift:安装 Django 1.5 导致服务器 500 错误
【发布时间】:2013-04-14 06:46:37
【问题描述】:

我在 Openshift 上创建了一个 Django 1.3 应用程序。 我想升级到 Django 1.5。所以我更新了 setup.py 来安装 Django 1.5

#!/usr/bin/env python

from setuptools import setup

setup(
    name='<Application name>',
    version='1.0',
    description='',
    author='',
    author_email='',
    url='http://www.python.org/sigs/distutils-sig/',
    install_requires=['Django>=1.5'],
)

服务器返回 http 500。

如果 setup.py 有 install_requires=['Django&lt;=1.4'] 它工作正常。

如何在 Openshift 上安装 Django 1.5?

更新:我可以看到一个 github commit,其中 Django 的 install_requires 从 >=1.3 更改为

【问题讨论】:

  • 你试过install_requires=['Django&lt;=1.5']吗?
  • 如果我指定 install_requires=['Django
  • 你试过这个叉子吗? github.com/ramr/DjangoShift
  • 让我们知道您在日志中看到的错误:openshift.com/faq/… 特别有用的是您在 git push 日志/输出中看到的任何错误,因为它记录了构建/部署钩子输出(例如,通过 pip 在 vi​​rtenv 上构建安装 Django 1.5)。
  • 我遇到了同样的问题,这对我有用:stackoverflow.com/questions/15128135/…

标签: django python-2.7 openshift django-1.5


【解决方案1】:

它可能来自您的代码,您是否检查了发行版notes 中提到的向后不兼容性(主要是您的 settings.py 中需要的 ALLOWED_HOSTS)

它也可能来自 {% url %} 标签语法更改,请参阅 here

【讨论】:

  • 代码在我的 django 1.5 开发机器上正常工作。所以我猜代码是兼容django版本的
【解决方案2】:

当我在 OpenShift 上安装 Django 应用程序时,Django 版本是 1.5.1。我认为 OpenShift 安装了最后一个版本的 Django,因为条件 Django >= 1.4,即没有低于这个版本。

这是屏幕截图,当我安装应用程序时

【讨论】:

    【解决方案3】:

    我遇到了同样的问题:从您的屏幕截图来看,您使用的是 python2.6 吗?

    尝试在应用程序文件中使用带有此配置的python2.7:

    #!/usr/bin/env python
    
    import os
    import sys
    
    sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR']))
    
    os.environ['DJANGO_SETTINGS_MODULE'] = 'mywebsite.settings'
    
    virtenv = os.environ['OPENSHIFT_HOMEDIR'] + 'python/virtenv/'
    os.environ['PYTHON_EGG_CACHE'] = os.path.join(virtenv, 'lib/python2.7/site-packages')
    
    virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
    try:
        execfile(virtualenv, dict(__file__=virtualenv))
    except IOError:
        pass
    #
    # IMPORTANT: Put any additional includes below this line.  If placed above this
    # line, it's possible required libraries won't be in your searchable path
    #
    
    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()
    

    正如@Charles L 所指,尝试使用allowed host 设置设置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 2014-07-06
      • 2020-07-16
      • 1970-01-01
      • 2015-11-23
      • 2013-08-11
      相关资源
      最近更新 更多