Level Up Your Python Workflow with Specialized Conda Environments
You’ve mastered Python basics and now you’re ready to level up your development workflow with specialized Jupyter Lab environments and industry-specific quick start environments that match how professionals work.
This guide covers custom Jupyter setups, specialized environments, and the transition from simple base environment usage to sophisticated multi-environment workflows.
Why Move Beyond the Base Environment for Jupyter Lab
As you’ve grown comfortable with Python, you’ve probably started to discover the wide range of Jupyter Lab extensions that are available. Maybe you’ve installed Git integration, code formatters, or variable inspectors. However, as you add more and more extensions into your base environment, you risk creating conflicts, bloating your setup, and making it harder to reproduce your work across different projects.
The Problem with Extensions in Base:
- Extension conflicts become more likely as you add more tools
- Different projects may need different Jupyter Lab versions
- Heavy extensions (like TensorBoard) slow down all your work
- Extension updates can break your entire Jupyter setup
The Professional Solution: Combining Jupyter and Project Environments
Create dedicated Jupyter environments optimized for different workflows—think of these as specialized IDEs tailored to specific types of work. Then, within your Jupyter environments, create lightweight project environments that only contain the packages required for the project. This layered approach gives you the best of both worlds: powerful, feature-rich development environments without risking dependency conflicts.
The Two-Layer Approach
Layer 1: Jupyter Environment (Your IDE)
- Contains Jupyter Lab and the extensions you want to install to optimize your workflow
- Is the interface where you’ll write your code
Layer 2: Project Environment (Your Code)
- Contains the specific packages your project needs to run
- Connects to your Jupyter environment as kernels
- Anaconda provides a curated set of quick start environments to streamline your project setup. Read on to learn how to create specialized Jupyter environments that serve as your development interface and connect Anaconda’s quick start environments to them as project kernels.
Setting Up Your First Specialized Jupyter Environments
Environment 1: General Data Science Jupyter
This becomes your primary workspace for most data science projects. From the terminal or Anaconda Prompt run the following commands, or create a new Environment in Navigator and search for the relevant packages.
# Create your main data science Jupyter environment
conda create -n jupyter-ds python=3.11 jupyterlab ipykernel nb_conda_kernels anaconda-toolbox
conda activate jupyter-ds
# Add essential productivity extensions
conda install voila # Render notebooks
conda install jupyterlab_code_formatter # Code formatting
# Language and region support
conda install jupyterlab-language-pack-es-ES # Spanish language pack
conda install jupyterlab-spellchecker # Spell checking
What this environment provides:
- Anaconda Toolbox integration for accessing quick start environments
- Professional code editing with LSP (autocomplete, error detection)
- Ability to render the outputs of your notebook with Voila
- Format your code to remain “pythonic”!
- Internationalization support, with over 20 languages available
Environment 2: AI/ML with TensorBoard
There are many examples where you may have extensions that are more specialized, such as deep learning projects that need TensorBoard visualization:
# Create specialized AI/ML Jupyter environment
conda create -n jupyter-ai python=3.11 jupyterlab ipykernel nb_conda_kernels anaconda-toolbox
conda activate jupyter-ai
# Install TensorBoard integration
conda install tensorboard jupyterlab-tensorboard
# Keep it focused - only install extensions that will assist with Tensorboard
Why separate TensorBoard:
- TensorBoard adds significant memory overhead
- AI projects often need different Jupyter Lab configurations
- Keeps your general data science environment fast and responsive
- Easier to troubleshoot extension conflicts
Launch Your Jupyter Environments
Either use Navigator to find your newly created environments, or run one of the following conda commands:
# For general data science work
conda run -n jupyter-ds jupyter lab
# For AI/ML projects with TensorBoard
conda run -n jupyter-ai jupyter lab
Separate environments allow you to have two different configurations of JupyterLab installed. Regardless of which you use, you will be able to use any of the project-specific quick start environments we’re about to install, to actually run your code.
Now You’re Ready for Quick Start Environments
With your Jupyter environments set up, you can now leverage Anaconda’s specialized quick start environments for your actual project work. These industry-optimized environments eliminate hours of package research and configuration.
Accessing Quick Start Environments Through Your Jupyter Setup
- Open the Anaconda Toolbox in the sidebar
- Select Create a New Environment
- Browse the specialized quick start environments
- Install the environment that matches your project type
- Select it as your kernel when creating notebooks
Quick Start Environments
Each quick start environment comes with a curated set of packages selected by Anaconda to provide a tailored foundation for your Jupyter Notebook projects. Once installed, you can continue to refine the environment by installing the specific packages you need. No more stopping mid-analysis because you forgot to install numpy!
Industry-Specific Quick Start Environments
Life Sciences Environment
- What’s included: Genomics, bioinformatics, and molecular analysis toolkit
- Best for: Pharmaceutical research, biotech analysis, clinical data processing
- Example use: Analyzing genomic sequences, drug compound research, clinical trial data
Manufacturing Environment
- What’s included: prophet, requests, apscheduler, networkx, and more.
- Best for: Smart manufacturing, process optimization, equipment monitoring
- Example use: Predicting machine failures, optimizing production lines, quality control analysis
Banking Environment
- What’s included: scipy, lightgbm, django, imbalanced-learn and more.
- Best for: Risk analysis, trading algorithms, compliance reporting
- Example use: Credit risk assessment, algorithmic trading, regulatory reporting
Technology-Specific Quick Start Environments
PyTorch Environment
- What’s included: PyTorch, torchvision, tokenizers and transformers
- Best for: Deep learning framework with computer vision and NLP extensions
- Example use: Image classification, natural language processing, generative models
Snowflake Environment
- What’s included: snowflake-python-connector, snowflake-ml-python, streamlit
- Best for: Native Snowflake connectivity with optimized data processing
- Example use: Data warehouse analysis, cloud-native ML pipelines
Use-Case Quick Start Environments
Web Development Environment
- What’s included: FastAPI, Django, Flask, database integration tools
- Best for: Full-stack Python applications, API development
- Example use: Building REST APIs, web applications, microservices
Natural Language Processing Environment
- What’s included: Transformers, spaCy, NLTK, large language model integration
- Best for: Text analysis, chatbots, document processing
- Example use: Sentiment analysis, document classification, chatbot development
DevOps Environment
- What’s included: boto3, fabric, kubernetes, jenkins
- Best for: Infrastructure as code, deployment automation, system monitoring
- Example use: Kubernetes management, CI/CD pipelines, infrastructure monitoring
Professional Workflow: Jupyter Environment + Project Environment Pattern
Now that you have specialized Jupyter environments and access to quick start environments, let’s establish a professional workflow pattern.
The Two-Layer Approach
Layer 1: Jupyter Environment (Your IDE)
- jupyter-ds: For most data science projects
- jupyter-ai: For AI/ML projects specifically needing TensorBoard
Layer 2: Project Environment (Your Code)
- Quick start environments customized for specific projects
- Connected to your Jupyter environment as kernels
Your Learning Path
Start Here: Choose specialized quick start environments for your current projects and set up a professional Jupyter environment with relevant extensions.
Next Steps:
- Implement the IDE + project environment pattern for all your work and create environment templates for recurring project types.
- Learn production deployment techniques and cross-IDE environment management in our final blog post of this series.
The intermediate phase is about building sustainable, professional workflows that scale with project complexity while maintaining the simplicity that makes Python productive.
Ready to implement these professional environment patterns? Start by identifying which specialized quick start environment matches your current project needs, then build your custom Jupyter setup around it.