2013-02-23 32 views
7

Tôi đã chạy heroku push master, và nhận điều này:tay loại bỏ Python gói trên 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 

Làm thế nào tôi có thể loại bỏ các gói Django trước đó?

UPDATE: requirements.txt của tôi:

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 

Các văn bản trong cố định cảnh báo trên đậm.

UPDATE 2: Kể từ Django 1.5 đã chính thức phát hành, tôi chỉ sử dụng đóng băng pip:

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 được chỉ định trong 'requirements.txt' của bạn như thế nào? Bạn đang nói nó sử dụng một phiên bản cụ thể? – culix

+0

Vui lòng xem phần cập nhật ở trên. – blaze

+0

@metroxylon Kiểm tra những gì xảy ra với dyno của bạn khi bạn đẩy các thay đổi 'nhật ký heroku -t'. Cố gắng xóa 'Django == 1.5' từ yêu cầu, cam kết, đẩy vào heroku, sau đó thêm và cam kết với django. – nk9

Trả lời

14

Tôi đã có vấn đề nơi Heroku lưu trữ các gói bị hỏng và không có cách nào để có được chúng ra. Các buildpack Python nên có một số loại hỗ trợ cho đỏ bừng bộ nhớ cache này (CACHE_DIR), nhưng nó không.

Có một giải pháp thay thế: theo dõi these instructions để thay đổi thời gian chạy Python của bạn thành, ví dụ: 3.3.0 (không quan trọng nếu ứng dụng của bạn thực sự hỗ trợ Python 3 hay không). Sau đó thay đổi nó trở lại mặc định. Hành động thay đổi thời gian chạy Python của bạn và sau đó triển khai sẽ buộc buildpack xóa hoàn toàn bộ nhớ cache. Theo tôi biết đây là cách thực tế duy nhất để xóa bộ nhớ cache tại thời điểm này.

+1

Việc này đã khắc phục được sự cố cho tôi. Tôi đã thử tự chạy 'myoku chạy pip uninstall my_package' mà" làm việc "(không thất bại) nhưng gói vẫn còn trong hệ thống và gây ra cho tôi vấn đề. Cảm ơn vì tiền hỗ trợ! – Micah

+0

Nó không hoạt động nữa. –

+0

Đúng, vẫn hoạt động như hôm nay. Thay đổi (hoặc thêm lần đầu tiên) runtime.txt và sau đó triển khai lại khiến Heroku tạo môi trường thời gian chạy mới, phá hủy hiệu quả bất kỳ vấn đề cũ nào như từ chối ghi đè các gói đã cài đặt trước đó từ PYPI với một phiên bản khác của cùng một gói từ url github. –

0

Đẩy hiện virtenv gói để nộp

pip freeze > requirements.txt 

Commit

git commit -am 'update packages' 

Và đẩy tới heroku

git push heroku 

Và herocu xây dựng lại môi trường

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

Đây là những gì tôi đã làm (ngoại trừ trứng bên ngoài). Sẽ cập nhật với requirements.txt của tôi – blaze

Các vấn đề liên quan