【发布时间】:2013-12-10 22:30:03
【问题描述】:
我的项目结构如下:
apps(python package)
|
|
|----------trips(python package)
|----__init__.py
|----urls.py
|----views.py
project
manage.py
urls.py 文件有以下导入:
from django.conf.urls import patterns, url
from django.contrib.auth.decorators import login_required
from . import views
该应用程序在本地机器上运行时运行良好(我已经制作了很多这样的应用程序,所以我认为错误不是那么明显,但谁知道) 当我将它上传到生产服务器(使用 python 3 的 Openshift)时,我看到 Django 的调试模板,指出发生了 ImportError:
ImportError at /
cannot import name views
异常所在的行是:
from . import views
我也试过了:
from apps.trips import views
没有运气... 有什么想法吗?
更新: 这是我的 Python 路径:
Python 路径:
['/var/lib/openshift/52a6379ae0b8cd1b10000001/app-root/runtime/repo',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/pip-1.4.1-py3.3.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/app-root/runtime/repo',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/psycopg2-2.5.1-py3.3-linux-x86_64.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/Django-1.6-py3.3.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/django_selectable-0.7.0-py3.3.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/django_autocomplete_light-2.0.0a4-py3.3.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/six-1.4.1-py3.3.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/South-0.8.4-py3.3.egg',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/opt/lib/python33.zip',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/opt/lib/python3.3',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/opt/lib/python3.3/plat-linux',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/opt/lib/python3.3/lib-dynload',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/setuptools-0.6c11-py3.3.egg-info',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/opt/lib/python3.3/site-packages',
'/var/lib/openshift/52a6379ae0b8cd1b10000001/app-root/runtime/repo/wsgi/hector_transporte']
最后一行指向我的项目文件夹(包含应用程序模块的文件夹)。另一个奇怪的是django似乎能找到我的settings.py
我正在使用 python 3 墨盒,因为“这是语言的现在和未来”
【问题讨论】:
-
您是使用 apache(或类似)还是 django 自己的开发服务器运行应用程序?
-
本地我试过 Apache 和 Django 的服务器。我认为 OpenShift 使用 uwsgi .. 可以与此有关吗? django 正在收到请求,这是肯定的
-
我的猜测是您需要将您的项目构建到正确的路径,这些路径可以通过 open shift 搜索。在导入失败之前添加一个 `print syt.path`` 语句,然后查看搜索的内容
-
这个时候你需要使用python 3墨盒有什么原因吗?我们将在大约 3 周后推出一款新的,它将更加标准。我们甚至有 2.7 购物车的 django 快速入门 - github.com/openshift/django-example
-
可以登陆机器直接导入views.py吗? ImportError 也可以表明模块内部有问题...
标签: python django python-3.3 importerror openshift