Ist virtualenv für einen Produktionsserver geeignet?

15

Ich plane, eine Python-App ( Pyblosxom ) auf meinem Server einzurichten und sie in einer eigenen virtuellen Sandbox mit auszuführen--no-site-packages . Ich hoffe, dass ein solches Setup über die Jahre leicht zu transportieren und zu warten ist.

Ich habe virtualenv jedoch nur für Entwicklungsumgebungen verwendet, in denen ein bestimmtes Server-Setup lokal wiederhergestellt wird, und die meisten Quellen zu virtualenv scheinen auch virtualenv für eine solche Verwendung zu erwähnen.

Gibt es einen Nachteil beim Ausführen einer Python-App von einem virtuellen Computer auf einem Live-Server?

ANMERKUNG: In Bezug auf die Portabilität des Setups wurde ich gerade auf die experimentelle --relocatableOption aufmerksam gemacht, die ausgeführt werden muss, nachdem ein neues Paket installiert wurde. Auch wenn ich das nicht getan hätte, würde das Setup dank pip ziemlich portabel sein.

Gnufs
quelle

Antworten:

15

Ja, ein virtuelles Env ist durchaus für die Produktion geeignet - wir haben (sehr) große Python-Benutzer, die ihre Apps in einem virtuellen Env ausführen, und es funktioniert sehr gut, um sie von der System-Python-Konfiguration isoliert zu halten.

Ich würde es jedoch aus Gründen der "Portabilität" nicht empfehlen, das Ganze von Maschine zu Maschine zu transportieren. Es gibt viel zu viele Möglichkeiten für subtile Ausfälle aufgrund von Inkompatibilitäten, die niemand sonst bemerken wird (da dies nicht weit verbreitet ist). Verwenden Sie stattdessen eine Automatisierung, die in der Lage ist, eine neue virtuelle Umgebung einzurichten, die Ihren Anforderungen auf einer neuen Maschine entspricht.

womble
quelle