2013-02-23 17 views
7

मैं heroku push master चल रहा था पर अजगर पैकेज हटाने, और मिल गया इस:मैन्युअल Heroku

----- Python app detected 
----- No runtime.txt provided; assuming python-2.7.3. 
----- Using Python runtime (python-2.7.3) 
----- Installing dependencies using Pip (1.2.1) 
     Downloading/unpacking Django-1.5c2 from https://www.djangoproject.com/download/1.5c2/tarball (from -r 
                              requirements.txt (line 1)) 
      Cannot determine compression type for file /tmp/pip-rYIGHS-unpack/tarball.ksh 
      Running setup.py egg_info for package Django-1.5c2 

     Installing collected packages: Django-1.5c2 
      Running setup.py install for Django-1.5c2 
      changing mode of build/scripts-2.7/django-admin.py from 600 to 755 

      changing mode of /app/.heroku/python/bin/django-admin.py to 755 


      ======== 
      WARNING! 
      ======== 

      You have just installed Django over top of an existing 
      installation, without removing it first. Because of this, 
      your install may now include extraneous files from a 
      previous version that have since been removed from 
      Django. This is known to cause a variety of problems. You 
      should manually remove the 

      /app/.heroku/python/lib/python2.7/site-packages/django 

      directory and re-install Django. 

     Successfully installed Django-1.5c2 

मैं पिछले Django पैकेज कैसे निकाल सकते हैं?

अद्यतन: मेरे requirements.txt:

https://www.djangoproject.com/download/1.5c2/tarball/**#egg=django** 
South==0.7.6 
argparse==1.2.1 
distribute==0.6.24 
dj-database-url==0.2.1 
psycopg2==2.4.6 
wsgiref==0.1.2 
PIL==1.1.7 

बोल्ड तय ऊपर चेतावनी में पाठ।

अद्यतन 2: Django 1.5 के बाद से आधिकारिक तौर पर जारी किया गया था, मैं सिर्फ पिप फ्रीज प्रयोग किया है:

Django==1.5 
South==0.7.6 
argparse==1.2.1 
distribute==0.6.24 
dj-database-url==0.2.1 
psycopg2==2.4.6 
wsgiref==0.1.2 
PIL==1.1.7 
+0

Django आपके 'requirement.txt' में निर्दिष्ट कैसे है? क्या आप इसे किसी विशेष संस्करण का उपयोग करने के लिए कह रहे हैं? – culix

+0

कृपया ऊपर दिए गए अपडेट को देखें। – blaze

+0

@metroxylon जांचें कि जब आप 'heroku logs -t' में परिवर्तन को दबाते हैं तो अपने डायनो के साथ क्या होता है। आवश्यकता से 'Django == 1.5' को हटाने का प्रयास करें, प्रतिबद्ध करें, उसकेोकू को दबाएं, फिर django के साथ जोड़ें और प्रतिबद्ध करें। – nk9

उत्तर

14

मैं समस्याओं लिया है जहां Heroku टूटे संकुल कैश और वहाँ उन्हें बाहर निकलने के लिए कोई रास्ता नहीं है पुनर्निर्माण। पाइथन बिल्डपैक को इस कैश (CACHE_DIR) को फ़्लश करने के लिए किसी प्रकार का समर्थन होना चाहिए, लेकिन ऐसा नहीं है।

एक वर्कअराउंड है: उदाहरण के लिए, 3.3.0 (उदाहरण के लिए, आपका ऐप वास्तव में पाइथन 3 का समर्थन करता है या नहीं) इससे कोई फर्क नहीं पड़ता कि यह आपके पाइथन रनटाइम को बदलने के लिए these instructions का पालन करें। फिर इसे वापस डिफ़ॉल्ट में बदलें। अपने पायथन रनटाइम को बदलने और फिर तैनाती करने का कार्य बिल्डपैक को कैश को पूरी तरह मिटाने के लिए मजबूर करेगा। जहां तक ​​मुझे पता है कि इस समय कैश को मिटाने का एकमात्र व्यावहारिक तरीका है।

+1

के साथ अपडेट होगा यह मेरे लिए समस्या तय करता है। मैंने मैन्युअल रूप से 'heroku run pip uninstall my_package' चलाने की कोशिश की जो "काम किया" (असफल नहीं हुआ) लेकिन पैकेज अभी भी सिस्टम में था और मुझे समस्याएं पैदा हुईं। पारितोषिक के लिए धन्यवाद! – Micah

+0

यह अब और काम नहीं करता है। –

+0

हाँ, अभी भी आज के रूप में काम करता है। रनटाइम (या पहली बार जोड़ना) runtime.txt और फिर पुन: तैनाती के कारण हेरोकू एक नया रनटाइम वातावरण बनाने का कारण बनता है, जो किसी भी विरासत के मुद्दों को प्रभावी रूप से नष्ट कर देता है जैसे कि पहले पैकेज को पीईपीआई से पहले पैकेज में ओवरराइट करने से इनकार करने से इनकार करना एक ही पैकेज के एक अलग संस्करण के साथ एक github यूआरएल से। –

0

पुश वर्तमान virtenv पैकेज

pip freeze > requirements.txt 

फाइल प्रतिबद्ध

git commit -am 'update packages' 

करने और Heroku

पर धक्का 0
git push heroku 

और herocu पर्यावरण

Counting objects: 13, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (11/11), done. 
Writing objects: 100% (13/13), 1.26 KiB, done. 
Total 13 (delta 3), reused 0 (delta 0) 
-----> Python app detected 
-----> No runtime.txt provided; assuming python-2.7.3. 
-----> Preparing Python runtime (python-2.7.3) 
-----> Installing Distribute (0.6.34) 
-----> Installing Pip (1.2.1) 
-----> Installing dependencies using Pip (1.2.1) 
Downloading/unpacking Flask==0.9 (from -r requirements.txt (line 1)) 
Running setup.py egg_info for package Flask 
+0

यह वही है जो मैंने किया (बाहरी अंडे को छोड़कर)। मेरी आवश्यकताओं.txt – blaze

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