2012-04-17 13 views
5

मुझे यह त्रुटि मिलती है ([Errno 2] कोई ऐसी फ़ाइल या निर्देशिका नहीं) जब मैं रिपो को उसकेोकू मास्टर को धक्का देता हूं। मेरे लॉग यहाँ हैंDjango Heroku का उपयोग करके तैनाती - [Errno 2] ऐसी कोई फ़ाइल या निर्देशिका

2012-04-17T18:24:53+00:00 app[web.1]: python: can't open file '/test/project/manage.py': [Errno 2]  No such file or directory 

2012-04-17T18:24:54+00:00 heroku[web.1]: Process exited with status 2 

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from starting to crashed 

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from crashed to created 

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from created to starting 

2012-04-17T18:24:57+00:00 heroku[web.1]: Starting process with command python /test/project/manage.py runserver 0.0.0.0:4473 --noreload 2012-04-17T18:24:57+00:00 app[web.1]: python: can't open file '/test/project/manage.py': [Errno 2] No such file or directory 

मेरे Procfile ऐसा दिखाई देता है:

web: python /test/project/manage.py runserver 0.0.0.0:$PORT --noreload 

मैं क्यों यह फ़ाइल नहीं खोल सकता पता नहीं है। जब मैं अपने विकास सर्वर का उपयोग कर रहा हूं तो यह ठीक खुलता है। कोई विचार? पढ़ने के लिए धन्यवाद।

+0

हैं फिर आप के साथ ऐसा कर सकते हैं आप अपने स्थानीय रेपो की मास्टर शाखा को दबा रहे हैं? – ryudice

+0

मुझे ऐसा लगता है।अगर मैं गिट शाखा करता हूं तो केवल एक चीज जो मैं देखता हूं वह है * मास्टर – Zach

उत्तर

11

अपने Procfile में अपने मौजूदा सेटअप एक निरपेक्ष पथ का संदर्भ '/test/project/manage.py' यह हेरोकू पर मौजूद नहीं है। '/ Test/उस उदाहरण की जड़ है जिसमें आप चल रहे हैं और गलत है।

heroku run bash 

इस प्रकार रखना चाहिए:

web: python project/manage.py runserver 0.0.0.0:$PORT --noreload 

यह आप चलाकर इस परियोजना के स्थान का पता लगाने कर सकते हैं काम नहीं करता है: आप पहले बदलना चाहिए इस रिश्तेदार पथ हो सकता है, इस तरह की संभावना कुछ है आप यहां से 'ऐप' में देख सकते हैं कि आपकी परियोजना शुरू करने का मार्ग क्या है।

चूंकि आपका प्रारंभिक धक्का प्रक्रिया शुरू करने में विफल रहा है, इसलिए आपको वेब प्रक्रिया को स्केल करने की आवश्यकता होगी।

heroku scale web=1 
+0

यह मेरे लिए भी Heroku पर एक web.py अनुप्रयोग पर काम किया – JoshOiknine

0

आप फ़ाइल सिस्टम की वास्तविक संरचना को जानने के लिए 0okuको उसकेोकू में संलग्न कर सकते हैं।

> heroku run ls/
Running ls/attached to terminal... up, run.1 
app dev home lib64  mnt sbin usr 
bin etc lib lost+found proc tmp var 

यह मामला है कि वे एक app निर्देशिका के अंदर अपने अनुप्रयोग लपेट हो सकता है

+0

यह मेरे लिए भी वही है। – Zach

+0

इसलिए .. आप 'वेब: पायथन /app/test/project/manage.py रनरवर 0.0.0.0:$PORT --noreload' इसके बजाय – Doboy

0

पथ के तत्वों में शामिल होने के os.path का उपयोग करें।, Btw आप इसे कोशिश ProcFile बदलने के लिए कार्यकर्ता से पढ़ने के लिए ?

  • pip install -r ./requirements.txt

  • foreman start

  • heroku create mempy-demo --stac=cedar

  • : Heroku गुरु बनाने के लिए आदेश में यह तीन आदेशों को चलाने के लिए

    प्रयास करें: python hellodjango/manage.py

    संपादित करें बाद में

  • Git धक्का Heroku मास्टर

अब एक सरल 'नमस्ते विश्व' का परीक्षण:

$ curl mempy-demo.herokuapp.com 
+0

हाँ करना चाहते हैं, मैंने इसे आजमाया है। – Zach

+0

मैं अपना उत्तर अपडेट करता हूं। इसे अबोकू मास्टर डालने से काम करना है। –

0

आप वातावरण चर को बदलने के लिए कुछ इस तरह कर सकता है (उदाहरण के लिए, जहां त्रुटि निकलती है, तो वह अपने wsgi.py फ़ाइल में जोड़):

os.environ["DJANGO_SETTINGS_MODULE"] = "myblog.settings"                 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myblog.settings") 
संबंधित मुद्दे