DEV Community

Ajmal Hasan
Ajmal Hasan

Posted on • Edited on

Setting Up Virtual environment in Python Projects with Conda - 1

Creating isolated environments is crucial for managing dependencies and avoiding conflicts in Python projects. This guide will help you install Anaconda, resolve common issues, and set up a virtual environment for your projects.


1. Install Anaconda

a) Follow this guide to install Anaconda using the installer. Ensure Anaconda is added to your shell configuration (~/.zshrc or ~/.bashrc).

b) Verify the installation by running:

 conda --version 
Enter fullscreen mode Exit fullscreen mode

c) Disable the default environment activation (optional):

 conda config --set auto_activate_base false 
Enter fullscreen mode Exit fullscreen mode

d) Add the pip3 path for convenience (optional):

 echo "alias pip=$(which pip3)" >> ~/.zshrc && source ~/.zshrc 
Enter fullscreen mode Exit fullscreen mode

2. Create a Project Folder and Virtual Environment

a) Create and navigate to your project directory:

 mkdir my_project && cd my_project 
Enter fullscreen mode Exit fullscreen mode

b) Create a Conda virtual environment named venv with Python 3.10 (or your desired version):

Check your Python version using:

 python --version 
Enter fullscreen mode Exit fullscreen mode

then update the version in below lines

 # Environment created in the current directory conda create -p ./venv python=3.10 -y # OR # Environment created in Conda's central directory conda create -n venv python=3.10 -y 
Enter fullscreen mode Exit fullscreen mode

If you encounter errors, remove any broken or partially created environments:

 conda remove --name venv --all 
Enter fullscreen mode Exit fullscreen mode

c) Activate the virtual environment:

 # For a directory-specific environment conda activate ./venv # For a central environment conda activate venv 
Enter fullscreen mode Exit fullscreen mode

d) To deactivate the environment:

 conda deactivate 
Enter fullscreen mode Exit fullscreen mode

3. Why Use Virtual Environments?

  • Isolation: Keeps dependencies separate for each project.
  • Consistency: Ensures identical environments across systems.
  • Reproducibility: Facilitates sharing and replication of the project setup.

4. Manage Dependencies with requirements.txt

Tracking dependencies ensures collaboration and smooth deployment.

a) Save Dependencies to requirements.txt

  • Manually list the required libraries:
 langchain openai python-dotenv streamlit 
Enter fullscreen mode Exit fullscreen mode
  • Or generate the file automatically:
 pip freeze > requirements.txt 
Enter fullscreen mode Exit fullscreen mode

b) Install Dependencies from requirements.txt

Install all libraries listed in the file:

pip install -r requirements.txt 
Enter fullscreen mode Exit fullscreen mode

To add new libraries, update requirements.txt and re-run the command.

c) Remove Dependencies

Uninstall all libraries listed in the file:

pip uninstall -r requirements.txt -y 
Enter fullscreen mode Exit fullscreen mode

List all installed dependencies with:

conda list 
Enter fullscreen mode Exit fullscreen mode

5. Install Additional Dependencies (Optional)

For example, to install Jupyter Kernel:

conda install ipykernel -y 
Enter fullscreen mode Exit fullscreen mode

6. Finalize the Project Structure

Manually create the necessary files and organize the folder structure as per your project’s requirements. A typical structure may look like this:

my_project/ │ ├── app.py ├── requirements.txt ├── venv/ └── ... 
Enter fullscreen mode Exit fullscreen mode

To run Python scripts:

python app.py 
Enter fullscreen mode Exit fullscreen mode

To run Streamlit applications:

streamlit run app.py 
Enter fullscreen mode Exit fullscreen mode

With this setup, you can efficiently manage Python projects using Conda environments. Happy coding!

Top comments (0)