Ich bin sehr neu in Django. Ich habe nur eine sehr grundlegende Frage zum Projekt-Layout mit virtualenv. Wenn wir virtualenv erstellen und alle Abhängigkeiten-django usw. installieren, muss ich dann mein Verzeichnis zum virtualenv wechseln und dort ein Projekt erstellen? Oder muss ich mein Projekt außerhalb von virtualenv erstellen. Ich entschuldige mich, wenn es eine sehr grundlegende Frage ist.Django virtualenv Layout
Antwort
Dies geht auf das Herz von wie Sie virtualenv: cd in das virtualenv-Verzeichnis, dann aktivieren Sie es (oder umgekehrt - es ist nicht wirklich wichtig). Der übliche Weg, dies unter Linux (oder Cygwin) zu tun, ist die Quelle ./bin/activate/
aus dem virtualenv.
An diesem Punkt, wenn Sie pip
oder python
verwenden, werden sie lokal zu diesem virtualenv sein. Sie sollten nur Ihre Installationen durchführen, und führen Sie Ihre Sachen nach Aktivierung der virtualenv.
Also, um Ihre Frage zu beantworten: Schalten und aktivieren Sie vor Sie beginnen zu installieren oder alles zu tun. Tue alles innerhalb des virtualenv, damit aktiviert.
Nein, das Verzeichnis, in dem Sie die virtuelle Umgebung erstellen, ist komplett getrennt und Sie würden nicht dorthin gehen und Ihr Django-Projekt erstellen.
Tatsächlich würden Sie normalerweise alle Ihre virtuellen Umgebungen in ein separates Verzeichnis stellen; für mich Ich habe sie in $HOME/work/.envs
, so dann meinen Workflow wird (man beachte die .
, das das Verzeichnis standardmäßig ausgeblendet macht):
$ virtualenv $HOME/work/.envs/new_env
$ source $HOME/work/.envs/new_env/bin/activate
(new_env)$ pip install django
(new_env)$ cd ~/projects
(new_env)/projects$ django-admin.py startproject atestproj
Sie sehen also, tun Sie nicht wirklich etwas mit der virtuellen Umgebung Verzeichnis ; Es wird komplett von virtualenv
und pip
verwaltet.
Die virtualenvwrapper
project erleichtert Ihnen die Verwaltung Ihrer virtuellen Umgebungen an einem zentralen Ort.
Danke für die Antwort. Ich habe eine Frage. Angenommen, ich habe django 1.4 im Stammverzeichnis meines Computers installiert. Dann installiere ich django 1.5 im virtualenv. Dann erstelle ich Django-Projekt außerhalb von virtualenv-say auf dem Desktop. Welche Django-Version wird mein Projekt verwenden? 1.4 oder 1.5? –
Wenn Sie die virtuelle Umgebung nicht aktiviert haben, wird 1 verwendet.4, wenn Sie die virtuelle Umgebung aktiviert, dann spielt es keine Rolle, wo Sie im Dateisystem sind, wird es verwenden 1.5 –
Sie können angeben, welche Version explizit verwendet werden soll (zB: 'pip install django == 1.4') Dies ist das Beste Übung, wie später Sie 'pip freeze' und erstellen Sie eine requirements.txt, die Sie dann' pip installieren 'auf anderen Maschinen, unter Beibehaltung der Versionsabhängigkeiten Ihr Projekt möglicherweise haben. – pygeek
Verzeichnisstruktur für die Verwendung mit virtualenv sollte wie folgt lauten:
|-- project_name
|-- django
|-- project_name
|-- virtualenv
|-- project_name
|-- bin
Das ist natürlich nicht die endgültige Antwort darauf, wie Ihre Struktur Projektverzeichnis sollte außer es verlegt wird jedoch hat für mich gearbeitet, und andere Ich weiß, im Laufe der Jahre.
I "twoscoops des" django Projekt Verzeichnisstruktur und Tutorial für Anfänger empfehlen: https://github.com/twoscoops/django-twoscoops-project
Ich empfehle auch virtualenvwrapper, einfache virtuelle Umgebungen zu machen verwalten: http://virtualenvwrapper.readthedocs.org/en/latest/
yup, das funktioniert. – Legolas
- 1. Django Virtualenv Produktion Kompromisse
- 2. Django virtualenv Deployment-Konfiguration
- 3. Django und virtualenv Ordner
- 4. Virtualenv-Paketproblem bei Heroku-Bereitstellung (Django-App)
- 5. Django mit virtualenv in einem Distributionspaket bereitstellen?
- 6. Ein anderer virtualenv für jede Django App
- 7. django + mod_wsgi auf virtualenv funktioniert nicht
- 8. django Verzeichnis Layout Erklärung
- 9. So wählen Sie Django Config Einstellung in virtualenv nur einmal
- 10. Django Admin-Listen-Layout ändern
- 11. Wie exportiert man virtualenv?
- 12. Import: Kein Modul namens virtualenv
- 13. Wie installiere ich eine alte Version von Django auf virtualenv?
- 14. mehrere Django-Projekt in verschiedenen virtualenv auf Apache laufen
- 15. Nicht in der Lage Dir zu ändern in virtualenv Django
- 16. Django nicht finden kann Pakete in virtualenv nicht finden
- 17. Automatisieren benutzerdefinierte Django-Management-Befehl mit crontab, innerhalb von virtualenv
- 18. Running Supervisord vom Host, Sellerie von einer Virtualenv (Django App)
- 19. Apache mit virtualenv und mod_wsgi: Import: Kein Modul namens 'django'
- 20. Django Fehler beim Versuch, eine Datei zu löschen virtualenv
- 21. Django admin/template/Ordner installieren fehlen nach frisch in virtualenv
- 22. Django kann nicht in einem Heroku Python gefunden werden. Virtualenv
- 23. Pycharm unaufgelöste Referenz in virtualenv
- 24. Virtualenv Erstellungsfehler
- 25. PyCharm verwendet kein ausgewähltes virtualenv
- 26. Workflow mit virtualenv und pip
- 27. Python Ctypes Importfehler in virtualenv
- 28. Django Projekt/Apps Layout - Richtiger Weg?
- 29. virtualenv (python3.4), pip installieren mysqlclient Fehler
- 30. uWSGI + virtualenv 'Kein Modul namens site'
ich Ihre Antwort zu schätzen wissen. Ich habe jedoch ein YouTube-Video gesehen, wo sie es zuerst aktivieren und dann das Verzeichnis ändern. Gibt es dafür einen bevorzugten Weg? –
@hansaraj ist es egal, ob Sie zuerst in das Verzeichnis wechseln. Sie müssen aktivieren, bevor Sie etwas tun, und es ist im Allgemeinen bequemer, innerhalb des Verzeichnisses zu sein, um Dinge darin zu tun. Wenn Sie nicht hinein cd, das ist in Ordnung, aber es wird Dinge weniger praktisch. – Marcin