Richten Sie die Django-Entwicklungsumgebung unter CentOS6.5 ein

WBOY
Freigeben: 2016-12-05 13:27:13
Original
1172 Leute haben es durchsucht

Heute habe ich die Django-Entwicklungsumgebung auf meinem Centos6.5-Rechner installiert. Nach der Installation habe ich „django-admin.py startproject myapp“ verwendet, um die Anwendung zu erstellen, und der folgende Fehler wurde gemeldet

$ django-admin.py startproject myapp
Traceback (most recent call last):
 File "/home/jhadmin/myenv/bin/django-admin.py", line 2, in <module>
 from django.core import management
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/__init__.py", line 1, in <module>
 from django.utils.version import get_version
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/version.py", line 7, in <module>
 from django.utils.lru_cache import lru_cache
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/lru_cache.py", line 28
 fasttypes = {int, str, frozenset, type(None)},
  ^
SyntaxError: invalid syntax
Nach dem Login kopieren

Nach der Überprüfung habe ich festgestellt, dass die Python-Version von CentOS6.5 zu alt ist und die neueste Django-Version (1.8.4) eine Python-Version von 2.7.x erfordert Ich wollte es aktualisieren. Ich hatte Bedenken, Python auf meinem eigenen Computer zu verwenden, und befürchtete, dass es sich auf andere Anwendungen auswirken würde. Plötzlich kam mir der Gedanke, dass ich Docker verwenden könnte, um das aufgetretene Problem zu lösen. Im Folgenden sind die Schritte für die Django-Entwicklungsumgebung aufgeführt, die ich mit Docker erstellt habe.

Erstellen Sie zunächst ein Verzeichnis zum Speichern der Docker-Konfigurationsdatei. Hier nenne ich es django_env.

Erstellen Sie eine Dockerfile-Datei im Verzeichnis django_env mit dem folgenden Inhalt

FROM centos:centos7

MAINTAINER Fanbin Kong "kongxx@hotmail.com"

RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install -y openssh-server sudo supervisor python-pip

RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

RUN echo "root:Letmein" | chpasswd

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN mkdir /var/run/sshd

RUN pip install django

RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisord.conf
 
EXPOSE 22 
CMD ["/usr/bin/supervisord"]
Nach dem Login kopieren


Da später mehrere Dienste in Docker gestartet werden, wird Supervisor weiterhin verwendet und eine supervisord.conf-Datei mit folgendem Inhalt erstellt

[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D

Nach dem Login kopieren

Führen Sie den folgenden Befehl im Verzeichnis django_env aus, um ein Container-Image zu generieren

Code kopieren Der Code lautet wie folgt:

sudo docker build -t django_env .


Container basierend auf Containerbildern generieren

Code kopieren Der Code lautet wie folgt:

sudo docker run -v /home/kongxx/mywork:/data --name= test -d -P django_env


„-v /home/kongxx/mywork:/data“ wird hier verwendet, um Code zwischen dem Host-Computer und dem Container auszutauschen

Nachdem der Container generiert wurde, können Sie den Befehl „sudo docker inspect test |“ verwenden, um die IP-Adresse des Containers anzuzeigen. Melden Sie sich dann mit ssh beim Container an

Code kopieren Der Code lautet wie folgt:

ssh root@


Nachdem wir uns beim Container angemeldet haben, können wir den Django-Befehl ausführen, um die Anwendung wie folgt zu erstellen und zu starten

cd /data
django-admin.py startproject myapp
cd myapp
python manage.py runserver 0.0.0.0:8000
Nach dem Login kopieren

Besuchen Sie jetzt http://:8000 im Browser und Sie werden sehen, dass der Dienst ausgeführt wird.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird. Ich hoffe auch, dass jeder Script House unterstützt.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage