2017-05-17 10 views
11

मैं Heroku करने के लिए एक Django परियोजना पुश करने के लिए कोशिश कर रहा हूँ, लेकिन यह है कि निम्न मुझे बता रहता है:विफल Heroku को पुश करने के लिए: इस तरह के /app/.heroku/python/bin/pip:No फ़ाइल या निर्देशिका

/app/.heroku/python/bin/pip: No such file or directory 

पूरा त्रुटि संदेश नीचे दिखाया गया है। मैं इस मुद्दे को कैसे संबोधित कर सकता हूं? क्या मुझे पहले हेरोोकू पर पीआईपी स्थापित करने की ज़रूरत है? जैसा कि नीचे दिखाया

Counting objects: 451, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (383/383), done. 
Writing objects: 100% (451/451), 1.07 MiB | 349.00 KiB/s, done. 
Total 451 (delta 87), reused 0 (delta 0) 
remote: Compressing source files... done. 
remote: Building source: 
remote: 
remote: -----> Python app detected 
remote: -----> Installing python-3.5.1 
remote: -----> Installing pip 
remote: -----> Installing requirements with pip 
remote:  /app/tmp/buildpacks/779a8bbfbbe7e1b715476c0b23fc63a2103b3e4131eda558669aba8fb5e6e05682419376144189b29beb5dee6d7626b4d3385edb0954bffea6c67d8cf622fd51 
/bin/steps/pip-install: line 5: /app/.heroku/python/bin/pip: No such file or directory 
remote: !  Push rejected, failed to compile Python app. 
remote: 
remote: !  Push failed 
remote: Verifying deploy... 
remote: 
remote: ! Push rejected to rocky-tor-70537. 
remote: 
To https://git.heroku.com/rocky-tor-70537.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'https://git.heroku.com/rocky-tor-70537.git' 

मेरे requirements.txt फ़ाइल, खाली है।

# this is for Heroku and other servers. 
# Locally, you should install requirements_base.txt 
-r requirements_server.txt 

मेरे requirements_server.txt इस प्रकार है:

-r requirements_base.txt 
# packages that are unnecessary on Windows/Mac local dev environments, or don't install properly 
psycopg2>=2.5.1 

मेरे requirements_base.txt इस प्रकार है:

appdirs==1.4.3 
asgi-redis==0.14.1 
asgiref==0.14.0 
autobahn==0.16.0 
Babel==2.3.4 
boto==2.42.0 
channels==0.17.3 
colorama==0.3.7 
contextlib2==0.5.4 
coverage==4.2 
daphne==0.14.3 
dj-database-url==0.4.1 
Django==1.8.8 
django-countries==4.0 
django-easymoney==0.7.1 
django-floppyforms==1.7.0 
django-idmap==0.4.1 
django-vanilla-views==1.0.4 
djangorestframework==3.4.6 
honcho==0.7.1 
huey==1.2.0 
IPy==0.83 
mock==2.0.0 
msgpack-python==0.4.8 
otree-core==1.2.8 
otree-save-the-change==1.1.3 
packaging==16.8 
pbr==1.10.0 
py==1.4.31 
pyparsing==2.2.0 
pytest==2.9.2 
pytest-django==3.0.0 
python-redis-lock==3.2.0 
pytz==2016.6.1 
raven==5.25.0 
redis==2.10.5 
requests==2.11.1 
schema==0.6.2 
six==1.10.0 
Twisted==16.2.0 
txaio==2.5.1 
unicodecsv==0.14.1 
whitenoise==3.2.1 
ws4py==0.3.5 
XlsxWriter==0.9.3 
zope.interface==4.2.0 

उत्तर

0

आप डिफ़ॉल्ट Heroku buildpack मुझे लगता है कि होता है कि प्रयोग कर रहे हैं आपके प्रोजेक्ट फ़ोल्डर में settings.txt फ़ाइल गुम है।

+0

मेरे पास requirement.txt है। – user3821012

+0

क्या आप कुछ कस्टम बिल्डपैक का उपयोग करते हैं? क्या आप 'उसकीोकू कॉन्फ़िगरेशन को आजमा सकते हैं: BUILDPACK_URL को अनसेट करें' और अपना कोड फिर से दबाएं –

+0

बिल्डपैक की जांच कैसे करें? मैंने उपरोक्त आदेश का उपयोग किया, अभी भी एक ही त्रुटि संदेश प्राप्त कर रहा है। – user3821012

13

मैं हाल ही में इस मुद्दे में भाग गया और runtime.txt में पायथन संस्करण को बदलकर इसे समायोजित करने में सक्षम था।

python-3.5.2 

लेकिन अपनी आवश्यकताओं है कि आप सूचीबद्ध किया है पर आधारित करने के लिए बदल रहा है, ऐसा लगता है जैसे आप कभी नहीं requirements_base.txt को हो रही है।

अपने requirements_server.txt फ़ाइल में, यह इतना है कि बदलने के लिए:

-r requirements_base.txt 

वहाँ सूचीबद्ध है।

+0

किसी कारण से यह मेरे लिए काम नहीं करता है। अभी भी एक ही त्रुटि संदेश प्राप्त करना। मुझे नहीं पता कि यह अभी भी पायथन-3.5.1 स्थापित करने का प्रयास क्यों करता है जब मैं runtime.txt को पायथन के अन्य संस्करणों में बदलता हूं (मैंने 3.6.1 और 3.5.2 की कोशिश की)। क्या पाइथन के संस्करण को निर्दिष्ट करने के लिए कहीं और है? – user3821012

+0

क्या आप require.txt फ़ाइल पोस्ट कर सकते हैं? –

+0

require.txt फ़ाइल –

0

मैं उबंटू 16.04 पर और मैन्युअल Heroku CLI स्थापित करने के बाद एक ही समस्या थी,

wget https://cli-assets.heroku.com/branches/stable/heroku-REPLACE_ME_OS-REPLACE_ME_ARCH.tar.gz -O heroku.tar.gz 

mkdir -p /usr/local/lib 

tar -xvzf heroku.tar.gz -C /usr/local/lib 

/usr/local/lib/heroku/install 

यह एक आकर्षण की तरह काम किया इस्तेमाल करते हैं।

फ़ोल्डर में मेरे पास 4 फाइलें हैं। एक पाइथन लिपि है, दूसरी सामग्री web: gunicorn skripta1:app सामग्री के साथ procfile (कोई विस्तार नहीं) है। तीसरा साथ requirements.txt है:

appdirs==1.4.3 
bokeh==0.12.5 
click==6.7 
Flask==0.12.2 
gunicorn==19.7.1 
itsdangerous==0.24 
Jinja2==2.9.6 
MarkupSafe==1.0 
numpy==1.12.1 
packaging==16.8 
pandas==0.20.1 
pandas-datareader==0.4.0 
pyparsing==2.2.0 
python-dateutil==2.6.0 
pytz==2017.2 
PyYAML==3.12 
requests==2.14.2 
requests-file==1.4.2 
requests-ftp==0.3.1 
six==1.10.0 
tornado==4.5.1 
Werkzeug==0.12.2 

और चौथे Heroku प्रलेखन के अनुसार python-3.5.2

0

साथ runtime.txt है, केवल दो आधिकारिक तौर पर समर्थित अजगर runtimes 2.7.13, और 3.6.1 कर रहे हैं। मुझे हाल ही में हेरोकू में ओट्री परिनियोजन के साथ एक ही समस्या थी, लेकिन जैसे ही मैंने runtime.txt से python-3.6.1 बदल दिया, सब कुछ सुचारू रूप से चला गया।

5

मैं बस मेरी runtime.txt

में दो गलत वर्तनी था सुनिश्चित करें कि यह कहना है python-3.6.1 और नहीं Python-3.6.1 या python 3.6.1

त्रुटि संदेश बहुत बुरा है। इस पोस्ट को 30 मिनट बचाएं।

+1

धन्यवाद! 'पायथन 2.7.13' था लेकिन आवश्यक 'पायथन-2.7.13' था। बेवकूफ है कि अगर आप 'पीआईपी' का उपयोग करने की कोशिश करते हैं तो यह सामान्य रूप से जारी रहेगा। – frmdstryr

0

ओह प्रिय - मैं आदेश कोशिश करते हैं और लाइन नंबर बदलने के लिए मेरी requirements/production.txt में एक रिक्त पंक्ति हटा दिया और सब कुछ काम करना शुरू किया (या बल्कि मेरी अगली पूरी तरह से अलग त्रुटि के पर)

0

मैं पर यह एक ही समस्या में पड़ गए विंडोज़ एक पाइथन ऐप को हरोकू में तैनात करने की कोशिश कर रहा है। यह एक फ़ाइल एन्कोडिंग समस्या बाहर निकलता है। Procfile, requirements.txt और runtime.txt को आपके एन्कोडिंग को कैसे बनाते हैं, इस पर निर्भर करता है।

मान लें कि आप विंडोज चल रहे हैं, पावरशेल का उपयोग करें। निम्नलिखित PowerShell Function प्राप्त करें और इसे अपने पावरशेल कंसोल में पेस्ट करें। इसका उपयोग करके, आप अपनी फ़ाइल एन्कोडिंग की जांच कर सकते हैं: get-fileencoding requirements.txt यदि यह असीसी के अलावा कुछ भी वापस आता है जो शायद समस्या है। मेरे मामले में, मेरी तीन फाइलें सभी यूनिकोड थीं। मैंने इसे एएससीआईआई: 'python-3.6.1' | out-file -en ascii runtime.txt पर मजबूर करने के लिए किया है, आप एक संपादक का भी उपयोग कर सकते हैं और फिर ASCII एन्कोडिंग का उपयोग कर फ़ाइल को सहेज सकते हैं।

एक बार जब मैंने अपनी प्रक्रिया में यह परिवर्तन किया, require.txt और runtime.txt मैं सफलतापूर्वक हेरोोकू पर तैनात करने में सक्षम था।

0

मैं Heroku करने के लिए एप्लिकेशन इंजन से स्विच और निम्नलिखित सामग्री के साथ रूट निर्देशिका में एक setup.cfg फ़ाइल था:

[install] 
prefix= 

यह इस मुद्दों के कारण होता है, जबकि तैनाती। सबकुछ हटाने के बाद अच्छी तरह से चला गया।

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

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