Is anaconda best for Django and web dev packages?
I am learning machine learning and deep learning using miniconda environment on native python. Now I am looking to learn Django and other backend packages like fastapi and tornado. Is conda enough for learning and developing real-time applications or I need to install native python from python.org ?
You do not need to install Python separately from python.org if you are already using Miniconda correctly.
Miniconda/Conda can run Django, FastAPI, Tornado, Flask, and most normal Python web-development packages. For web development, Miniconda is usually enough. Full Anaconda is not necessary because it installs many data-science packages that you may not need.
The important part is to create a separate environment for each project, not to install everything in the base environment.
For Django, you can try this:
conda create -n django-project python=3.11
conda activate django-project
pip install django
django-admin startproject myproject
For FastAPI, you can create a new environment like this:
conda create -n fastapi-project python=3.11
conda activate fastapi-project
pip install fastapi uvicorn
So yes, you can continue using Miniconda and you do not need full Anaconda unless you specifically want a clean system Python setup. For Django/FastAPI/Tornado development, Miniconda + separate project environments is completely fine.
conda's totally fine for this, no need to go install python from python.org separately. django, fastapi, tornado - none of them care whether your python came from conda or not, they're just regular pip packages.
only thing i'd say is don't install them into the same env you're doing your ML stuff in. make a fresh one, e.g.
conda create -n webdev python=3.11
conda activate webdev
pip install django fastapi tornado uvicorn
reason being your ML env probably has a ton of pinned versions (numpy, torch etc) and mixing that with web dev deps is asking for conflicts down the line. easier to just keep them separate from day 1.
also fwiw i'd lean pip over conda install for these specific packages, conda-forge has them but pip/PyPI tends to be more up to date for fast moving web frameworks.
one more thing, once you get to actually deploying this stuff (docker, hosting, whatever), you'll probably end up using plain venv instead of conda anyway since that's more the standard for backend/deployment world. not urgent, just something to keep in mind for later, not a blocker for learning right now.