Muss ich virtualenv mit Vagrant verwenden?
Wurde ich VirtualBox manuelle setups mit virtualenvs in Ihnen zu laufen Django-Projekte auf meinem lokalen Rechner. Kürzlich entdeckte ich Vagrant und beschlossen, um es zu wechseln, weil es scheint, sehr einfach und nützlich.
Aber ich kann nicht drauf - muss ich noch virtualenv verwenden Vagrant VM, ist es ermutigt, die Praxis oder verboten?
InformationsquelleAutor der Frage Gill Bates | 2013-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie eine vagrant VM-pro Projekt, dann gibt es keinen direkten Grund für die Verwendung von virtualenv.
Wenn andere Mitwirkende verwenden Sie keine Landstreicher, sondern verwende virtualenv, dann möchten Sie vielleicht, es zu benutzen und Sie unterstützen, um Ihr Leben zu erleichtern.
InformationsquelleAutor der Antwort Devin Jeanpierre
Als Devin erklärteist es nicht notwendig, zu verwenden
virtualenv
wenn Sie bereitstellen, um eine wandernde Maschine, solange Sie der einzige Benutzer der Maschine. Allerdings würde ich noch die Verwendung einesvirtualenv
setup.pyetc. auch wenn Sie nicht es verwenden, für die Entwicklung oder Bereitstellung.In meinem (nicht mehr ganz so bescheidenen Meinung nach, die Python-Projekt soll:
virtualenv
Verzeichnisse.Gehören ein Makefile mit den folgenden Zielen:
virtualenv
oderpyvenv
pip
und die requirements.txt Dateisetup.py develop
mit der virtuellen Umgebungsetup.py test
Die Idee ist, halten die Makefile so einfach wie möglich. Die Abhängigkeiten sollte so eingerichtet werden, dass Sie sich Klonen das repository (oder extrahieren Sie die Quell-tarball), und führen Sie
make test
. Es sollte erstellen einer virtuellen Umgebung, installieren Sie die Anforderungen, und ausführen der unit-tests.Können Sie auch eine Vagrantfile und ein vagrant target in das Makefile, ausgeführt vagrant up. Hinzufügen eines
vagrant destroy
zu den maintainer-clean Ziel, während Sie dabei sind.Dies macht Ihr Projekt nutzbar von jedermann mit vagrant oder zu entwickeln, ohne dass es. Wenn (wenn) Sie benötigen zur Nutzung bereitstellen, neben einem weiteren Projekt in einer Landstreicher oder physischen Umgebung, einschließlich einer sauberen setup.py und ein Vagrantfile , beschreibt Ihre minimale Umgebung macht es einfach zu installieren in einer virtuellen Umgebung oder einem gemeinsamen vagrant Maschine.
InformationsquelleAutor der Antwort D.Shawley
Virtualenv und andere Formen der isolation (Docker, eigene VM, ...), sind nicht notwendigerweise gegenseitig ausschließen. Mit virtualenv ist immer noch eine gute Idee, auch in einer isolierten Umgebung, Abschirmung der virtuellen system-Python aus Ihrem Projekt-Pakete. *nix-Systeme verwenden fülle von Python-basierten Dienstprogrammen, abhängig von bestimmten Versionen von Paketen zur Verfügung stehen, wird im system Python und Sie nicht zu verwirren wollen mit diesen.
Daran, dass virtualenv kann immer nur so weit gehen, das als reines Python-Pakete und löst nicht die situation mit nativen Erweiterungen aus, die noch mischen mit dem system.
InformationsquelleAutor der Antwort famousgarkin