Ich habe Django von Grund auf neu eingerichtet (Vagrant, Centos, Python3)

Einführung

Neulich habe ich versucht, Anaconda in einer lokalen Umgebung zu verwenden, aber ich dachte: "Ist es möglich, dies in einem Browser anzuzeigen ...?". Also habe ich beschlossen, eine Umgebung zu erstellen, in der Django verwendet werden kann.

Dieses Mal habe ich Vagrants Box gestartet und den Bildschirm des virtuellen Django-Servers im Browser angezeigt.

Schließlich, Füllen Sie das Formular im Browser aus → Das Modell des maschinellen Lernens wird auf der Serverseite basierend auf den gesendeten Daten berechnet → Geben Sie das Ergebnis an den Browser zurück Ich möchte so eine App machen.

Ausführungsumgebung

Host-Betriebssystem: Windows10 Gastbetriebssystem: Centos7 (Vagrant)

Machen Sie eine Vagrant Box

Dies basiert auf Hallo Welt in Vagrant + Python3 + Django-Umgebung. Arbeiten Sie an der Eingabeaufforderung.

vagrant box add centos/7
vagrant init centos/7

Fügen Sie der generierten Vagrant-Datei die folgenden zwei Zeilen hinzu.

config.vm.synced_folder "./", "/home/vagrant/work"
config.vm.network "forwarded_port", guest: 8000, host: 18000

Kehren Sie zur Eingabeaufforderung zurück und starten Sie vagrant.

vagrant up
vagrant ssh

Installieren Sie Python 3

Standardmäßig ist nur python2 enthalten, daher möchte ich python3 einschließen. In Anbetracht der Zukunft hielt ich es für eine gute Idee, Versionsverwaltungssoftware zu verwenden, und entschied mich daher für pyenv. Es scheint veraltet zu sein ... Siehe Installieren von Python3 mit pyenv.

Bereiten Sie alles vor, was Sie brauchen. Von hier an arbeite ich an Teraterm. vagrant ssh kann in Ordnung sein.

$ sudo yum groupinstall "Development tools"
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git

Installieren Sie pyenv

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source .bash_profile

Aktualisieren Sie pyenv auf die neueste Version

$ pyenv --version
pyenv 1.2.3-43-g35f7ef8
$ pyenv install --list #Es gibt viele Pythons, die installiert werden können
$ pyenv install 3.8.3 #Stellen Sie sicher, dass Sie die Version haben, die Sie verwenden und installieren möchten
$ pyenv global 3.8.3

Überprüfen Sie die Version von Pyenv, Python

$ pyenv versions
  system
* 3.8.3 (set by /home/vagrant/.pyenv/version)
$ python --version
Python 3.8.3

Installieren Sie Django

Löschen Sie den alten Django (ich hoffe, Sie können bestätigen, dass er nicht existiert)

$ python -c "import django; print(django.__path__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named django

Installieren Sie virtualenv, virtualenvwrapper, django

$ pip install virtualenv
$ pip install virtualenvwrapper
$ pip install Django

Django Versionsprüfung

$ python -m django --version
3.0.6

SQLite3-Versions-Upgrade

SQLite3, das standardmäßig in Vagrant enthalten ist, scheint eine alte Version zu sein. Wenn Sie versuchen, den Server so zu starten, wie er ist, tritt ein Fehler auf. Installieren Sie daher eine neue. Einführung in Django (Tutorial) - Einführung in das WWW von Tohoho war hilfreich.

$ yum install -y wget gcc make
$ wget https://www.sqlite.org/2019/sqlite-autoconf-3290000.tar.gz
$ tar zxvf ./sqlite-autoconf-3290000.tar.gz
$ cd ./sqlite-autoconf-3290000
$ ./configure --prefix=/usr/local
$ make
$ make install
$ cd ..
$ rm -rf ./sqlite-autoconf-3290000 ./sqlite-autoconf-3290000.tar.gz
$ mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
$ ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
$ echo 'export LD_LIBRARY_PATH="/usr/local/lib"' >> ~/.bashrc
$ source ~/.bashrc

Stellen Sie eine Verbindung zum virtuellen Server von Django her

Erstellen Sie ein Projekt unter / home / vagrant / work. Da es mit Vagrantfile festgelegt wurde, werden die hier erstellten Dateien und Apps lokal und in der virtuellen Umgebung freigegeben.

config.vm.synced_folder "./", "/home/vagrant/work"

Django-Projekterstellung

$ cd /home/vagrant/work
$ django-admin startproject mysite #mysite ist Ihr Lieblingsprojektname
$ cd mysite #In Projekt verschieben
$ python manage.py runserver 0:8000 #Serverstart

Geben Sie danach http://127.0.0.1:8000 in den Browser ein, um die Seite zu öffnen!

django.jpg

abschließend

Anfangs lief der Server, aber der Browser konnte nichts anzeigen, was eine Menge Arbeit war. Ich bin froh, dass ich es alleine geschafft habe. Ich habe jedoch das Gefühl, dass ich es geschafft habe, aber dies ist nur die Vorbereitungsphase. Bis zur Fertigstellung des Antrags scheint es noch ein langer Weg zu sein.

Referenz

Von der Vagrant- zur Django-Installation im Allgemeinen: Hallo Welt in Vagrant + Python3 + Django-Umgebung

SQLite3-Versions-Upgrade: Einführung in Django (Tutorial) - Einführung in Tohohos WWW

Installation und Verwaltung von Python: Python3-Installation mit pyenv

Recommended Posts

Ich habe Django von Grund auf neu eingerichtet (Vagrant, Centos, Python3)
Richten Sie die Python-Umgebung unter CentOS ein
Django Memo # 1 von Grund auf neu
[Vagrant] Richten Sie einen einfachen API-Server mit Python ein
Richten Sie Python 3.4 unter Ubuntu ein
Django von vorne anfangen (Teil: 2)
Django von vorne anfangen (Teil: 1)
Für Mac einrichten (Python)
Installieren Sie Python 3.7 und Django 3.0 (CentOS)
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Richten Sie einen Webserver mit CentOS7 + Anaconda + Django + Apache ein
Richten Sie mit Django ein soziales Login ein
Ich möchte ein Glas aus Python verwenden
Geschäftseffizienz von Grund auf mit Python
Ich habe eine Frage! (Python, Django) Einfach
Herstellen einer Verbindung von Python zu MySQL unter CentOS 6.4
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Was ich von Python Boot Camp bekommen habe
Verwenden Sie Django aus einem lokalen Python-Skript
[Python] [Verarbeitung natürlicher Sprache] Ich habe Deep Learning ausprobiert (auf Japanisch von Grund auf neu erstellt)
[Deep Learning von Grund auf neu] Beschleunigen des neuronalen Netzwerks Ich erklärte die Verarbeitung der Rückausbreitung
[Python] Ich habe die gleiche Berechnung versucht wie die Vorhersage von LSTM von Grund auf [Keras]
Richten Sie mit Python 3 einen einfachen HTTPS-Server ein
Bildverarbeitung von Grund auf mit Python (5) Fourier-Transformation
Ich möchte mit Python eine E-Mail von Google Mail senden.
[Python] Ich möchte 7DaysToDie von Discord aus verwalten! 1/3
Ich habe Python ausprobiert! ] Heute Abschluss von "Jeder Python! Was ist Python!"!
Richten Sie einen Test-SMTP-Server in Python ein.
Bildverarbeitung von Grund auf mit Python (4) Konturextraktion
Verknüpfung von PHP und Python von Grund auf auf Laravel
Richten Sie eine Tornado-Umgebung für Python in Raspbian Jessie ein
Ich möchte Ceres Solver aus Python verwenden
Führen Sie Python-Dateien mit Django aus HTML aus
Richten Sie einen einfachen SMTP-Server in Python ein
Richten Sie eine Python-Entwicklungsumgebung auf Marvericks ein
Python vs Ruby "Deep Learning von Grund auf neu" Zusammenfassung
Was ich beim Update von Python 2.6 auf 2.7 gemacht habe
[Python] Ich möchte 7DaysToDie von Discord aus verwalten! 2/3
Ich möchte C ++ - Code aus Python-Code erstellen!