Evgenii Legotckoi
Evgenii Legotckoi23. April 2019 04:10

Django - Tutorial 044. So installieren und konfigurieren Sie Django unter Mac OS

Ich schlage vor, den Prozess der Installation und Konfiguration eines Django-Projekts auf Mac OS X basierend auf einem vorhandenen Projekt in Betracht zu ziehen.

Einige der Schritte ähneln denen, die bereits im Artikel zur Installation von Django für Ubuntu ausgeführt wurden.


Einrichten der virtuellen Umgebung

  1. Installieren Sie Python 3
brauen installieren python3

2.Installieren Sie alle Pips

sudo easy_install pip
  1. Installieren Sie virtualenv und erstellen Sie eine virtuelle Umgebung
sudo pip3 install virtualenv
  1. Richten Sie eine virtuelle Umgebung für das Projekt ein
virtualenv project_env --python=python3
  1. Wechseln Sie in das Verzeichnis der virtuellen Umgebung des Projekts und klonen Sie das Repository.
cd project_env
git-Klon git@bitbucket.org:MyUser/project.git
  1. Wir klonen auch Submodule, wenn Ihr Projekt ein Git-Submodul verwendet.
CD-Projekt
git-Submodul init
Git-Submodul-Update
  1. Ich hoffe, Sie verwenden die Datei requirements.txt, denn es ist an der Zeit, alle erforderlichen Pakete im Projekt zu installieren
pip install -r requirements.txt

Installieren Sie die erforderliche Version von Python

Wenn Sie eine bestimmte Version von Python benötigen, beispielsweise wenn Ihre Produktionsserver-Repositories nicht über die neueste Version verfügen, müssen Sie Mac OS X speziell so konfigurieren, dass es mit der erforderlichen Version funktioniert.

brew install pyenv
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
brew install zlib
pyenv install 3.6.7

Wenn Sie Python nicht installieren können und der folgende Fehler auftritt

BUILD FAILED (OS X 10.14.4 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274
Results logged to /var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274.log

Last 10 log lines:
  File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/private/var/folders/qk/l3vyb_653ksb55yt5r54rt380000gn/T/python-build.20190421214232.40274/Python-3.6.7/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

Erstellen Sie dann eine .zshrc -Datei mit folgendem Inhalt

# For compilers to find zlib you may need to set:
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"

# For pkg-config to find zlib you may need to set:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"

Folgen Sie dann den restlichen Schritten.

source .zshrc
pyenv install 3.6.7

Überprüfen Sie die verfügbaren Python-Versionen

pyenv versions

Installieren Sie die erforderliche Version von Python

pyenv local 3.6.7
pyenv global 3.6.7

Überprüfen Sie die Version von Python, die derzeit auf Ihrem Mac OS X verwendet wird.

python --version

Danach müssen Sie alle Schritte aus den Einstellungen der virtuellen Umgebung ab Schritt 4 wiederholen, wenn Sie virtualenv bereits installiert haben. Oder alle diese Schritte komplett wiederholen.

PostgreSQL installieren und konfigurieren

  1. Entfernen einer früheren Version von Postgres
brew uninstall --force postgresql
  1. Entfernen Sie alle Postgres-Dateien
rm -rf /usr/local/var/postgres
  1. Installation von Postgres mit Homebrew
brauen postgres installieren
  1. Installation von PostGIS mit Homebrew
Postgis brauen installieren
  1. Starten Sie den PostgreSQL-Server. Möglicherweise müssen Sie diesen Befehl jedes Mal ausführen, wenn Sie eine Website entwickeln.
pg_ctl -D /usr/local/var/postgres start
  1. Erstellung der Projektdatenbank. Viele dieser Schritte wurden im allerersten Artikel zum Einrichten von Django auf einem Computer behandelt, auf dem das Betriebssystem ausgeführt wird.
psql-postgres
DATENBANK ERSTELLEN myproject;
BENUTZER ERSTELLEN myprojectuser MIT PASSWORT &#39;password&#39;;
ALTER ROLE myprojectuser SET client_encoding TO &#39;utf8&#39;;
ALTER ROLE myprojectuser SET default_transaction_isolation TO &#39;Read Committed&#39;;
ALTER ROLE myprojectuser SETze die Zeitzone auf „UTC“;
GEWÄHREN SIE ALLE PRIVILEGIEN AUF DATENBANK myproject AN myprojectuser;
\q

Nginx installieren und konfigurieren.

Ich verwende Nginx, um statische Inhalte zu verteilen, also installieren wir Nginx auch auf dem Entwicklungscomputer.

brew install nginx
sudo brew services start nginx

Nginx konfigurieren

An dieser Stelle müssen Sie den Nginx-Server einrichten. Warum müssen Sie die Datei nginx.conf bearbeiten und Ihre Servereinstellungsdatei im Serververzeichnis erstellen.

nano /usr/local/etc/nginx/nginx.conf

Löschen Sie den Inhalt der Datei und fügen Sie die folgenden Informationen hinzu.

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    include servers/*;
}

Erstellen Sie dann eine Datei myproject

touch /usr/local/etc/nginx/servers/myproject

Und fügen Sie Inhalte hinzu, die so aussehen.

server {
    listen 80;
    server_name 111.222.333.44; # здесь прописать или IP-адрес или доменное имя сервера

    location /static/ {
        root /Users/<user>/myprojectenv/myproject/myproject/;
        expires 30d;
    }

    location /media/ {
        root /Users/<user>/myprojectenv/myproject/myproject/;
        expires 30d;
    }

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Starten Sie dann den Nginx-Server neu

sudo brew services restart nginx

Fazit

Und dann vergessen Sie nicht, die Datenbank zu migrieren, statische Dateien durch collectstatic und andere in Ihrem Projekt notwendige Verfahren zu sammeln.

Für Django empfehle ich Timeweb VDS-Server .

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken