Вручную удалить Python package on Heroku
бегал heroku push master
, и получил это:
----- 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?
обновление: Мое требование.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 был официально выпущен, я просто использовал pip freeze:
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
2 ответов
У меня были проблемы, когда Heroku кэширует сломанные пакеты, и нет способа их вытащить. Python buildpack должен иметь некоторую поддержку для очистки этого кэша (CACHE_DIR), но это не так.
существует обходной путь: следовать эти инструкции чтобы изменить среду выполнения Python, например, на 3.3.0 (не имеет значения, поддерживает ли ваше приложение Python 3 или нет). Затем измените его на значение по умолчанию. Акт изменения среды выполнения Python, а затем развертывание заставит buildpack полностью стереть кэш. Насколько я знаю, это единственный практический способ стереть кэш на данный момент.
нажмите текущий пакет virtenv в файл
pip freeze > requirements.txt
фиксация
git commit -am 'update packages'
и нажмите на heroku
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