
Hallo, ich habe eine Pyramid-Anwendung, die ich via Nginx und uwsgi hoste. Zu jedem Zeitpunkt laufen mehrere Entwicklungsversionen von der Anwendung. U.a. deshalb hat jede Instanz ihr eigenes virtualenv. Mein Problem ist, daß das Aufsetzen der virtualenvs zu lange dauert. Der Grund sind vorwiegend numpy, pandas und Co. Die Pakete unter Linux zu bauen dauert nunmal eine Weile. In einem kurzen Test konnte ich von Hand ein wheel vorcompilieren und dann installieren. Generell sieht das vielversprechend aus, ich frage mich aber, wie andere Leute damit umgehen. Gibt's eine Möglichkeit, lokale wheels so zu registrieren, daß sie installiert werden, falls sie da sind, als Fallback aber eine neue Version gebaut wird? Ich würde mein setup.py ungern verändert bzw. sollte alles in jedem Fall auch ohne wheels funktionieren. Für Hinweise und Tipps wäre ich sehr dankbar. viele Grüße, Achim

Achim Domma schrieb:
ich habe eine Pyramid-Anwendung, die ich via Nginx und uwsgi hoste. Zu jedem Zeitpunkt laufen mehrere Entwicklungsversionen von der Anwendung. U.a. deshalb hat jede Instanz ihr eigenes virtualenv. Mein Problem ist, daß das Aufsetzen der virtualenvs zu lange dauert. Der Grund sind vorwiegend numpy, pandas und Co. Die Pakete unter Linux zu bauen dauert nunmal eine Weile.
In einem kurzen Test konnte ich von Hand ein wheel vorcompilieren und dann installieren. Generell sieht das vielversprechend aus, ich frage mich aber, wie andere Leute damit umgehen. Gibt's eine Möglichkeit, lokale wheels so zu registrieren, daß sie installiert werden, falls sie da sind, als Fallback aber eine neue Version gebaut wird? Ich würde mein setup.py ungern verändert bzw. sollte alles in jedem Fall auch ohne wheels funktionieren.
Für Hinweise und Tipps wäre ich sehr dankbar. Ja, wenn du pip so wie hier[1] konfigurierst wird nach wheels im angegebenen Verzeichnis gesucht.
Viele Grüße Markus [1] https://bitbucket.org/keimlink/dotfiles/src/237f660681b0513266010d3b377d005a...

On 27.09.2013 13:35, Markus Zapke-Gründemann wrote:
[1] https://bitbucket.org/keimlink/dotfiles/src/237f660681b0513266010d3b377d005a...
Da sind ja ein paar schöne Bash-Perlen drin :) Besonders gefällt mir der hitlist-Alias. Hier ein kleiner Verbesserungsvorschlag für die ah-Funktion: ah() { OLDIFS=$IFS IFS=$'\n' if [ -n "$1" ]; then echo "${hl[*]}" | grep -i "^$1" else echo "${hl[*]}" fi IFS=$OLDIFS } Chris

Christopher Arndt schrieb:
On 27.09.2013 13:35, Markus Zapke-Gründemann wrote:
[1] https://bitbucket.org/keimlink/dotfiles/src/237f660681b0513266010d3b377d005a...
Da sind ja ein paar schöne Bash-Perlen drin :) Besonders gefällt mir der hitlist-Alias.
Hier ein kleiner Verbesserungsvorschlag für die ah-Funktion:
ah() { OLDIFS=$IFS IFS=$'\n' if [ -n "$1" ]; then echo "${hl[*]}" | grep -i "^$1" else echo "${hl[*]}" fi IFS=$OLDIFS } Danke für den Verbesserungsvorschlag! Habe es gleich eingebaut, sortiere die Ergebnisse aber noch vor der Ausgabe.
https://bitbucket.org/keimlink/dotfiles/commits/d9fc3a7d413a726c1882c8478de0... Viele Grüße Markus

Am 26.09.2013 22:32, schrieb Achim Domma:
Hallo,
ich habe eine Pyramid-Anwendung, die ich via Nginx und uwsgi hoste. Zu jedem Zeitpunkt laufen mehrere Entwicklungsversionen von der Anwendung. U.a. deshalb hat jede Instanz ihr eigenes virtualenv. Mein Problem ist, daß das Aufsetzen der virtualenvs zu lange dauert. Der Grund sind vorwiegend numpy, pandas und Co. Die Pakete unter Linux zu bauen dauert nunmal eine Weile.
In einem kurzen Test konnte ich von Hand ein wheel vorcompilieren und dann installieren. Generell sieht das vielversprechend aus, ich frage mich aber, wie andere Leute damit umgehen. Gibt's eine Möglichkeit, lokale wheels so zu registrieren, daß sie installiert werden, falls sie da sind, als Fallback aber eine neue Version gebaut wird? Ich würde mein setup.py ungern verändert bzw. sollte alles in jedem Fall auch ohne wheels funktionieren.
Für Hinweise und Tipps wäre ich sehr dankbar.
Hallo, prinzipiell kann man auch einen Symlink von der virtualenv zum globalen site-packages Verzeichnis erstellen. pip ist dann der Meinung, dass das Modul schon da ist, und installiert es entsprechend nicht. Gruß, Thomas -- Thomas Guettler http://www.thomas-guettler.de/

Am 18.10.2013 10:39, schrieb Thomas Guettler:
prinzipiell kann man auch einen Symlink von der virtualenv zum globalen site-packages Verzeichnis erstellen.
pip ist dann der Meinung, dass das Modul schon da ist, und installiert es entsprechend nicht.
Der Teufel steckt dann im Detail. Z.B. bei .pth-Files, egg-directories, etc. Siehe auch meine andere Mail von eben. -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Monatliche Kolumne: http://www.cissp-gefluester.de/2011-11-in-troja-nichts-neues Blog: http://www.goebel-consult.de/blog/pdf-kommentare-unter-linux-nix-is Goebel Consult ist Mitglied bei http://www.7-it.de/
participants (5)
-
Achim Domma
-
Christopher Arndt
-
Hartmut Goebel
-
Markus Zapke-Gründemann
-
Thomas Guettler