2017-03-28 6 views
6

हाल ही में मैं अपने मौजूदा Django एप्लिकेशन के साथ काम करने के लिए wagtail प्राप्त करने का प्रयास कर रहा हूं। पर मुझे त्रुटि सामना कर रहा था: -कैसे हल करें नाम पृष्ठों को आयात नहीं कर सकते हैं (django/wagtail)

ImportError: No module named wagtail 
unable to load app 0 (mountpoint='') (callable not found or import error) 

ज्यादा समस्या निवारण करने के बाद मैं से फ़ोल्डर वेग्टेल को कॉपी करके इस, ठीक करने में कामयाब रहे: यहाँ

/opt/django/src/ 

में

/usr/local/lib/python2.7/dist-packages/ 

इस त्रुटि का समाधान करने के बाद , मुझे एक अलग मॉड्यूल के बारे में एक और मिला, और दूसरा ... हर बार जब मैंने /usr/local/lib/python2.7/dist-packages/ से /opt/django/src/ में फ़ोल्डर की प्रतिलिपि बनाई और अंत में यह हल हो गया ई मुद्दों मैं था और uWSGI शुरू किया।

अब जब मैं अपने ऐप के मुखपृष्ठ तक पहुंचने, मुझे यह त्रुटि

ImportError at/

cannot import name pages 

    Request Method:  GET 
Request URL: http://example.com 
Django Version:  1.9 
Exception Type:  ImportError 
Exception Value:  

cannot import name pages 

Exception Location:  ./wagtail/wagtailadmin/urls/__init__.py in <module>, line 4 
Python Executable: /usr/local/bin/uwsgi 
Python Version:  2.7.3 
Python Path:  

['.', 
'', 
'/opt/django/src', 
'/root/.python', 
'/opt/django/env/lib/python2.7', 
'/opt/django/env/lib/python2.7/plat-linux2', 
'/opt/django/env/lib/python2.7/lib-tk', 
'/opt/django/env/lib/python2.7/lib-old', 
'/opt/django/env/lib/python2.7/lib-dynload', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-linux2', 
'/usr/lib/python2.7/lib-tk', 
'/opt/django/env/local/lib/python2.7/site-packages', 
'/opt/django/env/lib/python2.7/site-packages'] 

मैं संदर्भित (./wagtail/wagtailadmin/urls/__init__.py) फ़ाइल की जाँच कर ली प्राप्त करते हैं और यह इस तरह दिखता है:

from django.conf.urls import url, include 
from django.views.decorators.cache import cache_control 

from wagtail.wagtailadmin.urls import pages as wagtailadmin_pages_urls 
from wagtail.wagtailadmin.urls import collections as wagtailadmin_collections_urls 
from wagtail.wagtailadmin.urls import password_reset as wagtailadmin_password_reset_urls 
from wagtail.wagtailadmin.views import account, chooser, home, pages, tags, userbar 
from wagtail.wagtailadmin.api import urls as api_urls 
from wagtail.wagtailcore import hooks 
from wagtail.utils.urlpatterns import decorate_urlpatterns 
from wagtail.wagtailadmin.decorators import require_admin_access 

हमलावर लाइन पहला वाग्टेल 'से' है ...

from wagtail.wagtailadmin.urls import pages as wagtailadmin_pages_urls

मैं इसे कैसे हल कर सकता हूं त्रुटि?

+0

मुझे भी एक ही समस्या है। अगर आप इस मुद्दे को हल करते हैं तो मुझे दो। – Gaurav

+1

'/ usr/local/lib/python2.7/dist-packages /' से फ़ाइलों की प्रतिलिपि बनाने के बजाय आपको वर्चुअलनव का उपयोग करना चाहिए और wagtail इंस्टॉल करने के लिए 'pip' का उपयोग करना चाहिए। –

+0

लेकिन एक ही समस्या थी। मुझे लगता है कि समस्या nginx से संबंधित है। यह 502 खराब गेटवे दिखा रहा है। – Gaurav

उत्तर

4

मैंने wagtail सेटअप पर कुछ परीक्षण चलाए हैं। मैंने प्रत्येक टेस्ट को ताजा उबंटू 14 इंस्टॉल में बनाया (प्रत्येक टेस्ट स्पेस में प्रत्येक टेस्ट Cloud9 IDE पर)।

टेस्ट 1: सीधे अजगर 2,7

sudo pip install wagtail 
ERRO: error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 

टिप्पणी: x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/libImaging/codec_fd.o: No such file or directory त्रुटियों के बहुत सारे उत्पादन थे। काम नहीं किया।

टेस्ट 2 - अजगर 2.7 virtualenv

sudo pip install virtualenv 
virtualenv env 
source env/bin/activate 

अब उनके GitHub से साथ https://github.com/wagtail/wagtail

pip install wagtail 
out: Successfully installed Django-1.10.7 Pillow-4.1.1 Unidecode-0.4.20 Willow-0.4 beautifulsoup4-4.5.3 django-modelcluster-3.1 django-taggit-0.22.1 django-treebeard-4.1.0 djangorestframework-3.6.2 html5lib-0.999999999 olefile-0.44 pytz-2017.2 requests-2.13.0 wagtail-1.9.1 webencodings-0.5.1 
wagtail start mysite 
cd mysite 
python manage.py migrate 
python manage.py createsuperuser 
python manage.py runserver 

मैं सेटिंग्स/dev.py संपादित करने के लिए था और ALLOWED_HOSTS = ['*'] शामिल है क्योंकि मैं बादल 9 पर हूँ रनरवर के बाद $ आईपी: $ पोर्ट की भी आवश्यकता है। काम किया!

test3 - अजगर 3.4 के साथ virtualenv

sudo pip3 install virtualenv 
virtualenv -p python3 env 
source env/bin/activate 
pip install wagtail 
Successfully installed Django-1.10.7 Pillow-4.1.1 Unidecode-0.4.20 Willow-0.4 beautifulsoup4-4.5.3 django-modelcluster-3.1 django-taggit-0.22.1 django-treebeard-4.1.0 djangorestframework-3.6.2 html5lib-0.999999999 olefile-0.44 pytz-2017.2 requests-2.13.0 wagtail-1.9.1 webencodings-0.5.1 

आदेश बाकी एक ही हैं। और यह काम किया!

टेस्ट 4 - अजगर 3.4 कोई virtualenv

sudo pip3 install wagtail 
out: Successfully installed wagtail django-taggit requests Unidecode Django djangorestframework Pillow beautifulsoup4 Willow django-modelcluster django-treebeard olefile pytz 
wagtail start mysite 
python3 manage.py migrate 
python3 manage.py createsuperuser 
python3 manage.py runserver 

संपादित करें: गलती हो गई। इस मामले में अजगर नहीं, पाइथन 3 के साथ चलना चाहिए था। यह फिर से किया और काम किया!

निष्कर्ष: ऐसा लगता है कि आपको उबंटू 14 और पायथन 2 पर काम करने के लिए वर्चुअलएन्व की आवश्यकता है। Python3 के साथ यह वर्चुअलenv के साथ और बिना काम करता है।मैं आपकी त्रुटि को पुन: उत्पन्न नहीं कर सका, लेकिन विचार समान है: यह काम नहीं करता है क्योंकि यह गलत जगह पर सामान की तलाश में है।

टिप्पणियाँ: दो चीजें आप का उल्लेख है कि मैं परीक्षण नहीं कर सकता हैं:

I have been trying to get wagtail to work with my existing Django application

भारी निर्भरता के इस बड़े राशि के साथ, (तकिया, जैंगो बाकी है, beatifullsoup और दूसरों मैं कभी नहीं के बारे में सुना) यह अगर यह पिछले सेटअप के साथ बॉक्स से बाहर काम करता है तो अजीब होगा। मेरा मतलब है, Django wagtail के लिए एक निर्भरता है। तो मैं दूसरी तरफ कोशिश करता हूँ। Wagtail के साथ ताजा शुरू करें और वहां अपना कोड पोर्ट करें (समुदाय के लिए python3 के साथ;))। फाइलों की यह मैन्युअल प्रति प्रोग्रामर की तरह सबसे खराब दुःस्वप्न है (कम से कम मेरे लिए)। यह एक संस्करण समस्या की तरह दिखता है। शामिल सब कुछ के संस्करण पोस्ट करने का प्रयास करें, और इस मुद्दे को पुन: उत्पन्न करने के लिए सही कदम। मेरा मतलब है, क्या आपने ऑपरेटिंग सिस्टम में wagtail स्थापित किया था कि django चल रहा था?

I was having and uWSGI started.

तो क्या आपके ऐप को पहले से ही तैनात किया गया है? यह चीजों को जटिल बनाता है। यदि संस्करण और वर्चुअलएन्व आपकी समस्या का समाधान नहीं करते हैं, तो समुदाय को तैनाती के सेटअप विवरण की आवश्यकता होती है। इसके अलावा आपने अपने परिचालन तंत्र का उल्लेख नहीं किया है।

मुझे आशा है कि इससे मदद मिलती है! शुभ लाभ! Google अनुप्रयोग इंजन एक वेग्टेल एप्लिकेशन को तैनात करने की कोशिश कर रहा है और अपने स्थानीय देव सर्वर पर समस्या नकल नहीं कर सकता है, जबकि

from wagtail.wagtailadmin.urls import pages as wagtailadmin_pages_urls

:

1

मैं कम से

cannot import name pages

त्रुटि आ गई।

एक प्रतीत होता है कि असंबद्ध त्रुटि जिसे मैंने केवल GAE में देखा था, पीआईएल लाइब्रेरी में एक आयात त्रुटि शामिल थी। मैं अपने/lib निर्देशिका में मेरे वेंडर्ड पैकेज से पीआईएल और तकिया संबंधित फ़ोल्डरों को हटाकर दोनों त्रुटियों को हल करने में सक्षम था। मुझे प्लेटफार्म विशिष्ट बाइनरी के कारण ऐप.यामल फ़ाइल के माध्यम से पीआईएल आयात करना पड़ा था, लेकिन चल रहे पीआईपी स्थापित -टी lib/-r आवश्यकताओं-vendor.txt ने पीआईएल को lib फ़ोल्डर में भी स्थापित किया क्योंकि (निर्भरता के रूप में Wagtail)

संबंधित मुद्दे