工作正常,我有以下項目結構:導入錯誤,但在本地機器
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自己的開發服務器運行應用程序? – Oz123
本地我試過Apache和Django的服務器。我認爲OpenShift使用uwsgi ..它可以與此相關嗎? django正在收到請求,這是肯定的 – Alvaro
我的猜測是,您需要將您的項目結構化爲通過開門班次搜索的正確路徑。在導入失敗之前加上一個'print syt.path''語句,看看搜索到的是什麼 – Oz123