Ja, ich denke, Sie sollten virtualenv verwenden, um es in der Produktion bereitzustellen. Dies macht die Dinge für Sie viel einfacher und sauberer, insbesondere wenn Sie mehrere Dienste bereitstellen möchten, z. B. Django-basierte Websites oder andere Python-Projekte. Sie möchten nicht, dass jeder von ihnen die globale Python-Umgebung mit seinen Paketen verschmutzt.
Ich denke, virtualenv wird Ihnen helfen, alle Ihre Abhängigkeiten sauber zu verwalten.
Um Ihre Produktionsumgebung zu aktualisieren, müssen Sie lediglich Folgendes tun:
pip -r name_of_your_requirements_file.txt
Ich verwende virtuelle Umgebungen in der Produktion, und Sie können uWSGI verwenden, um die Anwendungen mit Cherokee als Webserver bereitzustellen.
Um Ihre virtuelle Umgebung in der Produktion zu verwenden, müssen Sie ihren Pfad zu Ihrem PYTHONPATH hinzufügen.
Wenn Ihre Umgebung beispielsweise den Pfad "/ home / www / my_project / env /" hat, lautet der hinzuzufügende Pfad:
/home/www/env/lib/python2.7/site-packages/
Sie können dies auf viele verschiedene Arten einrichten. Wenn Sie jedoch Ihre FCGI- oder uWSGI-Schnittstelle über manage.py generieren, fügen Sie einfach ganz oben in Ihrer manage.py Folgendes hinzu (vor dem Rest):
import os
my_virtualenv_path = "/home/www/my_project/env/lib/python2.7/site-packages/"
os.path.append(my_virtualenv_path)
Sie können dies an Ihr Setup anpassen, für den Fall, dass Sie in der Shell auch Folgendes tun können:
export PYTHONPATH:$PYTHONPATH:/home/www/my_project/env/lib/python2.7/site-packages/
Sie müssen auch das Verzeichnis, das Ihre Datei settings.py enthält, zum PYTHONPATH hinzufügen, damit Django es erkennen kann. Gehen Sie dazu einfach ähnlich vor.