Script für ein einfaches aktualisieren eines python virtualenv...

Um ein erstelltes virtualenv aktuell zu halten, hab ich nun in django-tools das Skript "upgrade_virtualenv.py" eingefügt.

Das kann man einfach in das root Verzeichnis seines virtualenv legen und dort aufrufen.

Eigentlich hat das ja nicht direkt was mit Django zu tun. Weil ich aber quasi bei allen Django-Projekten virtuelenv und django-tools nutzte, liegt das Skript dort ganz gut ;)

Auch wenn man django-tools in seinem virtuelenv nicht benutzt, kann man das Skript einfach über wget platzieren, z.B.:

1
2
3
4
~/$ cd goto/your_env
.../your_env/$ wget https://github.com/jedie/django-tools/raw/master/django_tools/upgrade_virtualenv.py
.../your_env/$ chmod +x upgrade_virtualenv.py
.../your_env/$ ./upgrade_virtualenv.py

Hat man django-tools eh in seinem env, kann man auch einfach symlinken:

1
2
~/$ cd goto/your_env
.../your_env/$ ls -s /path/to/your_env/src/django-tools/django-tools/upgrade_virtualenv.py /path/to/your_env/upgrade_virtualenv.py

Wenn man updaten will, dann aktivieren und skript starten:

1
2
3
~/$ cd goto/your_env
.../your_env/$ source bin/activate
(your_env) .../your_env/$ ./upgrade_virtualenv.py

Man bekommt ein einfaches Auswahl Menü, bei dem man wählen kann, was geupdated werden soll:

  • both: package + editables
  • only packages
  • only editables

Das habe ich extra gemacht, weil ich öfters nur die editables Pakete aktualisieren möchte.

Das ganze wird dann hinfällig, wenn man mit pip selber updaten kann, siehe: https://github.com/pypa/pip/issues/59
Passender Python-Forum Thread: Wie ein virtualenv aktuell halten?

EDIT: Das Skript scheint leider nicht in jeder Situation richtig zu laufen. In einigen Fällen, werden die editbales "-e" Pakete nicht als solche erkannt und unter den normalen Packages eingeordnet. Warum das so ist, weiß ich noch nicht, siehe: http://www.python-forum.de/viewtopic.php?p=203290#p203290

Um ein erstelltes virtualenv aktuell zu halten, hab ich nun in django-tools das Skript "upgrade_virtualenv.py" eingefügt.

Das kann man einfach in das root Verzeichnis seines virtualenv legen und dort aufrufen.

Eigentlich hat das ja nicht direkt was mit Django zu tun. Weil ich aber quasi bei allen Django-Projekten virtuelenv und django-tools nutzte, liegt das Skript dort ganz gut ;)

Auch wenn man django-tools in seinem virtuelenv nicht benutzt, kann man das Skript einfach über wget platzieren, z.B.:

1
2
3
4
~/$ cd goto/your_env
.../your_env/$ wget https://github.com/jedie/django-tools/raw/master/django_tools/upgrade_virtualenv.py
.../your_env/$ chmod +x upgrade_virtualenv.py
.../your_env/$ ./upgrade_virtualenv.py

Hat man django-tools eh in seinem env, kann man auch einfach symlinken:

1
2
~/$ cd goto/your_env
.../your_env/$ ls -s /path/to/your_env/src/django-tools/django-tools/upgrade_virtualenv.py /path/to/your_env/upgrade_virtualenv.py

Wenn man updaten will, dann aktivieren und skript starten:

1
2
3
~/$ cd goto/your_env
.../your_env/$ source bin/activate
(your_env) .../your_env/$ ./upgrade_virtualenv.py

Man bekommt ein einfaches Auswahl Menü, bei dem man wählen kann, was geupdated werden soll:

  • both: package + editables
  • only packages
  • only editables

Das habe ich extra gemacht, weil ich öfters nur die editables Pakete aktualisieren möchte.

Das ganze wird dann hinfällig, wenn man mit pip selber updaten kann, siehe: https://github.com/pypa/pip/issues/59
Passender Python-Forum Thread: Wie ein virtualenv aktuell halten?

EDIT: Das Skript scheint leider nicht in jeder Situation richtig zu laufen. In einigen Fällen, werden die editbales "-e" Pakete nicht als solche erkannt und unter den normalen Packages eingeordnet. Warum das so ist, weiß ich noch nicht, siehe: http://www.python-forum.de/viewtopic.php?p=203290#p203290