2012-10-03 11 views
5

मैं अजगर का उपयोग पाइथन और फ्लास्क के साथ कर रहा हूं। मेरा ऐप ठीक काम कर रहा था जब तक कि मैंने अपनी पायथन एप्लिकेशन फ़ाइल में कुछ लाइनें अपडेट नहीं कीं। एप्लिकेशन को स्थानीय रूप से ठीक चलाता है, लेकिन अब मैं निम्न त्रुटि है जब मैं अपने ऐप्स को एक्सेस करने का प्रयास करें:।।छोटे बदलाव को धक्का देने के बाद हेरोकू ऐप दुर्घटनाग्रस्त हो गया। बहुत उलझन में

"कोई त्रुटि आवेदन में हुई और अपने पृष्ठ की सेवा नहीं किया जा सकता है कुछ ही क्षणों में पुन: प्रयास करें यदि आप एप्लिकेशन स्वामी हैं, तो विवरण के लिए अपने लॉग देखें। "

मेरे लॉग कुछ इस तरह दिखाई:

2012-10-03T17:40:26+00:00 heroku[web.1]: Process exited with status 1 
2012-10-03T17:40:26+00:00 heroku[web.1]: State changed from starting to crashed 
2012-10-03T17:51:25+00:00 heroku[web.1]: State changed from crashed to starting 
2012-10-03T17:51:26+00:00 heroku[web.1]: Starting process with command `python presentation.py` 
2012-10-03T17:51:26+00:00 app[web.1]: ImportError: No module named site 

मैं कर रहा हूँ भी अब Heroku के माध्यम से अजगर को चलाने में सक्षम:

Cinnas-MacBook-Pro:infinite-fortress-4866 cinna$ heroku run python 
Running `python` attached to terminal... up, run.1 
ImportError: No module named site 

अगले बात मैं करने की कोशिश की है मेरी पर्यावरण जाँच है चर:

Cinnas-MacBook-Pro:infinite-fortress-4866 cinna$ heroku config 
=== infinite-fortress-4866 Config Vars 
LANG:    en_US.UTF-8 
LD_LIBRARY_PATH: /app/.heroku/vendor/lib 
LIBRARY_PATH:  /app/.heroku/vendor/lib 
PATH:    /app/.heroku/venv/bin:/bin:/usr/local/bin:/usr/bin 
PYTHONHASHSEED: random 
PYTHONHOME:  /app/.heroku/venv/ 
PYTHONPATH:  /app/ 
PYTHONUNBUFFERED: true 

हालांकि, जब मैं lib अंदर देखने के लिए कोशिश rary निर्देशिका, मुझे ऐसा कुछ मिलता है:

Cinnas-MacBook-Pro:infinite-fortress-4866 cinna$ heroku run ls /app/.heroku/vendor/lib 
Running `ls /app/.heroku/vendor/lib` attached to terminal... up, run.1 
ls: cannot access /app/.heroku/vendor/lib: No such file or directory 

मुझे यकीन नहीं है कि इस समय कहां आगे बढ़ना है। मुझे अपना ऐप याद आती है, कृपया मदद करें!

अतिरिक्त जानकारी:

समस्याओं सब तब शुरू हुई जब मैं अपने app.py कोड में निम्न पंक्तियां कहा:

@app.route('/my_fb_graph',methods=['GET','POST']) 
def my_fb_graph(): 
return render_template('my_fb_graph.html') 

जब मैं धक्का दिया कोड और एप्लिकेशन नहीं रह गया काम किया। मैंने फिर कोड की इन पंक्तियों को हटा दिया, फिर कोड को धक्का दिया, और फिर भी वही त्रुटियां मिलीं। अगली बात मैंने किया था कि APP.py फ़ाइल को पूरी तरह से हटा दें और एक छोटे से टेस्ट कोड को आजमाएं जो अभी भी काम नहीं करता है।

समस्या के मूल त्रुटि हो रहा है:

2012-10-03T17:51:26+00:00 app[web.1]: ImportError: No module named site 
+0

आप का वर्णन वास्तव में क्या परिवर्तन आप बनाया गया था –

+0

अगर आप से शुरू कर सकता है मेरे heroku config ऊपर सूचीबद्ध अतिरिक्त envvars नहीं है इसे वापस बदलें क्या यह फिर से काम करता है? यदि ऐसा है तो आपके परिवर्तन में कोई त्रुटि हो सकती है ... –

+0

टिप्पणियों के लिए धन्यवाद, मैंने कुछ और जानकारी जोड़ा। मैंने इसे वापस नहीं बदला, मैंने पूरी तरह से app.py को हटाने और एक छोटा परीक्षण कोड चलाने की कोशिश की। – Cinna

उत्तर

6

मैं इस समस्या को ठीक करने में सक्षम था, लेकिन अभी भी पता है क्यों यह पहली जगह में हुआ न!

बहुत सारे प्रयोग के बाद, मैंने हेरोोकू पर एक बिल्कुल नया ऐप स्थापित करने का अंत किया। मैं नए एप्लिकेशन में वातावरण चर की जाँच की और निम्नलिखित है:

Cinnas-MacBook-Pro:thawing-temple-4323 cinna$ heroku config 
=== thawing-temple-4323 Config Vars 
FACEBOOK_APP_ID: *** 
FACEBOOK_SECRET: *** 
PATH:    bin:/usr/local/bin:/usr/bin:/bin 
PYTHONUNBUFFERED: true 

अपने मूल एप्लिकेशन (एक टूट) जाँच हो रही है, मुझे एहसास हुआ है कि नए वातावरण चर किसी भी तरह के रूप में मेरे लॉग ने संकेत दिया मेरा आखिरी धक्का में जोड़ा गया:

2012-10-04T04:20:04+00:00 heroku[api]: Add PYTHONUNBUFFERED, PYTHONPATH, PYTHONHOME, LANG, LD_LIBRARY_PATH, PATH, PYTHONHASHSEED, LIBRARY_PATH config by ***@*** 

और मेरे वातावरण चर की जाँच करके:

:

Cinnas-MacBook-Pro:infinite-fortress-4866 cinna$ heroku config 
=== infinite-fortress-4866 Config Vars 
LANG:    en_US.UTF-8 
LD_LIBRARY_PATH: /app/.heroku/vendor/lib 
LIBRARY_PATH:  /app/.heroku/vendor/lib 
PATH:    /app/.heroku/venv/bin:/bin:/usr/local/bin:/usr/bin 
PYTHONHASHSEED: random 
PYTHONHOME:  /app/.heroku/venv/ 
PYTHONPATH:  /app/ 
PYTHONUNBUFFERED: true 

मैं कमांड के साथ इन नए चर हटाया

heroku config:remove PYTHONPATH PYTHONHOME LANG LD_LIBRARY_PATH PYTHONHASHSEED LIBRARY_PATH 

और मेरा ऐप फिर से काम करना शुरू कर दिया। मैं और कोड दबा रहा हूं, और यह समस्या फिर से नहीं हुई है।

मैं अभी भी वास्तव में उत्सुक हूं कि इन चरों को पहली जगह क्यों जोड़ा गया था क्योंकि मैंने जो कुछ किया वह गिट पुश था।

+0

इसके लिए धन्यवाद! साइड सवाल: आप अपने लॉग कैसे प्राप्त करते हैं? मुझे ज्ञात एकमात्र आदेश 'हेरोकू लॉग' है, क्या कोई और है? –

+0

यह मेरे लिए भी काम करता है, इसलिए धन्यवाद! मुझे लगता है कि मेरा ऐप कॉन्फ़िगरेशन काफी पुराना है? –

6

मुझे कल एक बहुत ही समस्या का सामना करना पड़ा (6 दिसंबर 2012)। नीले रंग से, प्रत्येक पायथन का आविष्कार 'आयात त्रुटि: साइट नामित कोई मॉड्यूल' के साथ नहीं हुआ। हेरोोकू समर्थन आज मेरे पास वापस आया और वे कहते हैं कि यह उनके अंत में तय है, इसलिए निम्नलिखित कार्यवाही की आवश्यकता नहीं है। अगर मैं किसी और का निदान करने में मदद करता हूं तो मैं इसे यहां छोड़ दूंगा।

मैंने हालांकि अपने myoku कॉन्फ़िगरेशन वर्र्स की जांच की, और कोई पायथन * चर सेट नहीं था।

$ heroku run set | grep PYTHON 
PYTHONHASHSEED=random 
PYTHONHOME=/app/.heroku/venv/ 
PYTHONPATH=/app/ 
PYTHONUNBUFFERED=true 

/app/.heroku/venv किसी गैर-मौजूद निर्देशिका था: वे env के रूप में खोल स्तर पर वार्स हालांकि निर्धारित किया गया।

$ heroku config:set PYTHONHOME=/app 

/ऐप्स परियोजना रूट निर्देशिका के लिए एक माउंट बिंदु प्रतीत होता है: अगर मैं एक config वर के साथ PYTHONHOME overrode, और जहाँ मेरे virtualenv वास्तव में था की ओर इशारा किया, यह सब फिर से काम शुरू कर दिया। पाइथन बिल्डपैक के इतिहास के माध्यम से खोदना, ऐसा लगता है कि जब मैंने अपनी परियोजना शुरू की, तो सभी ने प्रोजेक्ट रूट में अपना वर्चुअलनव बनाया। अब नई परियोजनाएं एक venv/subdirectory में वर्चुअलएन्ड्स बनाती हैं। समर्थन ने कहा कि वे धीरे-धीरे एक बिल्डपैक परिवर्तन शुरू कर रहे थे, और मुझे लगता है कि चीजों को करने के पुराने तरीके के लिए चेक मेरे लिए लात नहीं था। https://github.com/heroku/heroku-buildpack-python/blob/master/bin/compile

+0

चीयर्स, जो मेरे लिए काम किया! –

+0

एक ही मुद्दा था, आज, धन्यवाद। –

+0

कोशिश की ... काम नहीं करता है। मैं virtualenvwrapper का उपयोग कर रहा हूँ ... क्या यह प्रभाव होगा? – zakdances

1

यह मैं भी थोड़ा,:

यहाँ buildpack internals देखने के लिए जहां है। मुझे यकीन नहीं है कि यह कब शुरू हुआ। मैं नहीं मानता कि यह मेरी ओर से किसी भी परिवर्तन के जवाब में था, मैं सिर्फ मेरी site आज अनुप्रयोग त्रुटि पर गौर किया और लॉग में यह पाया:

2012-12-12T16:02:06+00:00 heroku[web.1]: State changed from crashed to starting 
2012-12-12T16:02:09+00:00 heroku[web.1]: Starting process with command `aspen --network_address=:40856 --www_root=doc/ --project_root=doc/.aspen` 
2012-12-12T16:02:10+00:00 app[web.1]: ImportError: No module named site 
2012-12-12T16:02:11+00:00 heroku[web.1]: Process exited with status 1 
2012-12-12T16:02:11+00:00 heroku[web.1]: State changed from starting to crashed 

मैं एक रिलीज जाने के लिए तैयार था, तो मैं बस सामान्य के रूप में तैनात किया गया। git push heroku के बाद, साइट का बैक अप लिया गया है।

$ heroku config 
=== aspen-io Config Vars 
ASPEN_IO_SHOW_GA: yes 
PATH:    bin:/usr/local/bin:/usr/bin:/bin 
PYTHONUNBUFFERED: true 

अपडेट:: @kennethreitz pointed methis रहे हैं:

Cannot import module site

This occurs when the configured environment variables don't match the paths of the installed Python. When this occurs, it is because someone purged an app's cache without understanding the above implications.

To fix, either purge the cache and update the configuration, or restore the expected configurations (preferred).

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