8 votes

Suppression manuelle du paquet Python sur Heroku

Je courais heroku push master et j'ai obtenu ceci :

 ----- 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

Comment puis-je supprimer le paquet Django précédent ?

UPDATE : Mes exigences.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

Le texte en gras a corrigé l'avertissement ci-dessus.

MISE À JOUR 2 : Depuis que Django 1.5 est officiellement sorti, j'ai juste utilisé 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

20voto

Andrew Gorcester Points 10328

J'ai eu des problèmes où Heroku met en cache des paquets cassés et il n'y a aucun moyen de les retirer. Le buildpack Python devrait avoir une sorte de support pour vider ce cache (CACHE_DIR), mais ce n'est pas le cas.

Il existe une solution de contournement : suivez ces instructions pour changer votre runtime Python en, par exemple, 3.3.0 (peu importe que votre application supporte ou non Python 3). Puis revenez à la valeur par défaut. Le fait de changer votre runtime Python puis de déployer l'application forcera le buildpack à effacer totalement le cache. Pour autant que je sache, c'est la seule façon pratique d'effacer le cache pour le moment.

3voto

b1- Points 1119

Pousser le paquet virtenv actuel dans le fichier

pip freeze > requirements.txt

Engagez-vous

git commit -am 'update packages'

Et pousser vers heroku

git push heroku

Puis heroku reconstruira l'environnement

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

0voto

SHELLKING4 Points 39

Je pensais avoir supprimé le paquet faulting et tous les autres paquets qui en dépendent, mais non. Chaque fois que je déploie, je continue à obtenir une erreur. Finalement, j'ai enlevé tous les autres paquets qui dépendent du paquet défectueux et tout a fonctionné parfaitement. J'espère que quelqu'un trouvera cela utile

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X