2013-12-10 35 views
1

工作正常,我有以下項目結構:導入錯誤,但在本地機器

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盒,因爲「它是語言的現在和未來」

+0

你是用apache(或類似的)還是django自己的開發服務器運行應用程序? – Oz123

+0

本地我試過Apache和Django的服務器。我認爲OpenShift使用uwsgi ..它可以與此相關嗎? django正在收到請求,這是肯定的 – Alvaro

+0

我的猜測是,您需要將您的項目結構化爲通過開門班次搜索的正確路徑。在導入失敗之前加上一個'print syt.path''語句,看看搜索到的是什麼 – Oz123

回答

0

當您正在導入的模塊出現問題時,可能會出現ImportError錯誤。在這種情況下,服務器上缺少視圖模塊的依賴關係之一。

0

我沒有看到引用{} PYTHON_HOME/lib目錄/站點包/ Django的。您可以嘗試將其添加到您的路徑中。

+0

就在那裏:'/var/lib/openshift/52a6379ae0b8cd1b10000001/python/virtenv/venv/lib/python3.3/site-packages/Django-1.6-py3.3.egg ', – Alvaro

1

是否有一個原因,你需要在這個時候使用python 3墨盒?我們將在3周內推出一款更加標準的新產品。我們甚至可以通過2.7的購物車快速啓動django - github.com/openshift/django-example

+0

+1新墨盒!但問題是該項目缺少依賴性 – Alvaro

相關問題