簡體   English   中英

在Django應用中的openshift上找不到模塊

[英]Module is not found on openshift in django app

我不知道怎么可能,但是找不到我的模塊。 我想將haystack集成到Django應用中。 當我將它推到openshift時(在setup.py中指定了“ django_haystack”),它不起作用。 所以我將haystack包從python dist復制到了我的django項目。

.
├── controller
├── database
├── django_crontab
├── faq
├── haystack
├── lib
├── registration
├── stocks
└── whoosh

我在settings.py的install_apps中添加了“ haystack”。 為了確保本地主機中的此程序包有效,我通過pip卸載了python dist-packages中的django_haystack。 在本地主機上,它可以工作。 我正在嘗試將haystack.forms導入到stocks.forms。 我將新的提交推向openshift。 嘗試加載我的網站時收到錯誤代碼500。 錯誤是:

[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129] ImportError: No module named forms
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129] mod_wsgi (pid=262837): Exception occurred processing WSGI script '/var/lib/openshift/526ed6ba4382eca6ff000024/app-root/runtime/repo/wsgi/application'.
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129] Traceback (most recent call last):
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]   File "/var/lib/openshift/526ed6ba4382eca6ff000024/python/virtenv/lib/python2.7/site-packages/Django-1.5.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]     response = self.get_response(request)
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]   File "/var/lib/openshift/526ed6ba43826ff000024/python/virtenv/lib/python2.7/site-packages/Django-1.5.5-py2.7.egg/django/core/handlers/base.py", line 178, in get_response
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]     response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]   File "/var/lib/openshift/526ed6ba43826ff000024/python/virtenv/lib/python2.7/site-packages/Django-1.5.5-py2.7.egg/django/core/handlers/base.py", line 220, in handle_uncaught_exception
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]     if resolver.urlconf_module is None:
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]   File "/var/lib/openshift/526ed6ba43826ff000024/python/virtenv/lib/python2.7/site-packages/Django-1.5.5-py2.7.egg/django/core/urlresolvers.py", line 342, in urlconf_module
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]     self._urlconf_module = import_module(self.urlconf_name)
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]   File "/var/lib/openshift/526ed6ba43826ff000024/python/virtenv/lib/python2.7/site-packages/Django-1.5.5-py2.7.egg/django/utils/importlib.py", line 35, in import_module
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]     __import__(name)
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]   File "/var/lib/openshift/526ed6ba43826ff000024/app-root/runtime/repo/wsgi/digrin/controller/urls.py", line 3, in <module>
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]     from stocks.forms import AdvancedSearchForm, AutocompleteModelSearchForm
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]   File "/var/lib/openshift/526ed6ba43826ff000024/app-root/runtime/repo/wsgi/digrin/stocks/forms.py", line 31, in <module>
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129]     from haystack.forms import ModelSearchForm
[Mon Mar 24 16:10:35 2014] [error] [client 127.3.111.129] ImportError: No module named forms

ImportError: No module named forms

因此,基本上是首先提到haystack應用程序。 我使用ssh登錄到openshift帳戶並運行了./manage.py shellfrom haystack.forms import ModelSearchForm嘗試了./manage.py shell 它加載沒有問題。

我在這里沒有主意,我還嘗試了./manage.py syncdb./manage.py migrate ,以防干草堆錯過了一些數據庫表。 還嘗試重新啟動應用程序。 沒有幫助。 我想念什么?

######################## edit1

好的,所以我從應用程序中刪除了文件夾haystack,並按照指示將django_haystack添加到setup.py中。

我在haystack文件夾中查看了本地服務器中的文件:

>>> import haystack
>>> haystack
<module 'haystack' from '/var/lib/openshift/526ed6ba43826ff000024/python/virtenv/lib/python2.7/site-packages/haystack-0.16-py2.7.egg/haystack/__init__.pyc'>
>>> 

這是manage.py指向我的地方。

 ls /var/lib/openshift/526ed6ba43826ff000024/python/virtenv/lib/python2.7/site-packages/haystack-0.16-py2.7.egg/haystack/
abouchet.py     basicmodel.pyc  dump_loader.py   listmodel.py      memory_dumper.pyc   model.py   win-dump-heap.py
abouchet.pyc        config.py       dump_loader.pyc  listmodel.pyc     memory_mapper.py    model.pyc  win-dump-heap.pyc
argparse_utils.py   config.pyc      gui          __main__.py       memory_mapper.pyc   reverse
argparse_utils.pyc  dbg.py      __init__.py      __main__.pyc      memory_mapping.py   utils.py
basicmodel.py       dbg.pyc     __init__.pyc     memory_dumper.py  memory_mapping.pyc  utils.pyc

這是我的openshift干草堆內容:

argparse-1.2.1-py2.7.egg       easy-install.pth     pip              setuptools
Digrin.egg-link            easy_install.py      pip-1.4-py2.7.egg-info   setuptools-0.9.8-py2.7.egg-info
Django-1.5.5-py2.7.egg         easy_install.pyc     pkg_resources.py         six-1.4.1-py2.7.egg
django_extensions-1.2.5-py2.7.egg  haystack-0.16-py2.7.egg  pkg_resources.pyc        South-0.8.2-py2.7.egg
django_haystack-2.1.0-py2.7.egg    _markerlib           python_ptrace-0.7-py2.7.egg

這些是我的網站包:site-packages]> ls

 argparse-1.2.1-py2.7.egg easy-install.pth pip setuptools Digrin.egg-link easy_install.py pip-1.4-py2.7.egg-info setuptools-0.9.8-py2.7.egg-info Django-1.5.5-py2.7.egg easy_install.pyc pkg_resources.py six-1.4.1-py2.7.egg django_extensions-1.2.5-py2.7.egg haystack-0.16-py2.7.egg pkg_resources.pyc South-0.8.2-py2.7.egg django_haystack-2.1.0-py2.7.egg _markerlib python_ptrace-0.7-py2.7.egg 

我將django_haystack版本添加到setup.py,在站點包中刪除了haystack-0.16-py2.7.egg文件夾,它可以正常工作。 不知道我在那里怎么得到舊版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM