./manage.py запуск сервера на mac
Я настраиваю новую среду разработки для разработки Django на Mac в качестве нового разработчика Python, но я получаю сообщение об ошибке при запуске базового приложения django, поэтому я думаю, что моя настройка python неверна
У меня установлен python3
, поэтому, чтобы упростить доступ к нему, в моем .zshrc
я добавил строку
alias python='python3'
Я использовал homebrew для установки python
, django-admin
, pipx
а также python-language-server
и ruff-lsp
и установил jedi-language-server
через pipx
в качестве базовой настройки для helix
Я использовал учебное пособие dango ninja для запуска проекта
django-admin startproject ninjaapidemo
cd ninjaapidemo
что дает мне структуру проекта
# ~/dev/ninjaapidemo
.
├── manage.py
└── ninjaapidemo
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
Я обновил urls.py
до следующего (согласно руководству по django ninja)
from django.contrib import admin
from django.urls import path
from ninja import NinjaAPI
api = NinjaAPI()
@api.get("/add")
def add(request, a: int, b: int):
return {"result": a + b}
urlpatterns = [path("admin/", admin.site.urls), path("api/", api.urls)]
и попытался запустить проект из ~/dev/ninjaapidemo
./manage.py runserver
но я получаю следующую ошибку
env: python: No such file or directory
Кто-нибудь может посоветовать, что я делаю не так, пожалуйста? Спасибо
Хорошо, я нашел решение, но было бы здорово, если бы кто-нибудь его подтвердил
Я удалил псевдоним python
-> python3
из zsh, чтобы избежать конфликтов в пространстве имен
Я создал virtualenv под названием venv
со следующим
python3 -m venv venv
который создал папку venv
в корне моего проекта.
Я активировал это с помощью
. venv/bin/activate
а потом пришлось переустанавливать django и django ninja
pip install django django-ninja
Затем я смог выполнить команду runserver
./manage.py runserver
Мне все это кажется нормальным (хотя это означает, что в моем проекте есть папка виртуальной среды, которую, похоже, следует добавить в файл .gitignore
). У кого-нибудь есть какие-либо соображения, пожалуйста?
Спасибо