When working on Python projects, it’s essential to create isolated environments to manage dependencies and avoid conflicts. This guide will help you install Anaconda, fix common issues, and set up a virtual environment for your projects.
1. Install Anaconda (in root terminal)
First, install Anaconda by following this guide. Ensure that you have added Anaconda to your shell configuration (~/.zshrc
or ~/.bashrc
).
After installation, verify by running:
conda --version
2. Fix Conda Activation Errors
If you encounter errors when running conda activate venv
, such as permission issues, follow these steps to fix them:
- Adjust permissions for Conda directories:
sudo chmod -R 755 /Users/ajmalhasan/.conda
sudo chmod -R 755 /opt/homebrew/anaconda3
- Remove any broken or partially created environment:
conda remove --name venv --all
3. Create a Project Folder and Virtual Environment
- Navigate to your project directory:
mkdir my_project && cd my_project
- Create a Conda virtual environment named
venv
with Python 3.10:
conda create -p venv python==3.10 -y
- Activate the virtual environment:
conda activate venv
- To deactivate the environment:
conda deactivate
4. Install Libraries (virtual env is active)
Always install libraries inside the virtual environment to keep them isolated:
pip install langchain openai python-dotenv streamlit
This approach is preferred over global installation, as it avoids conflicts with other projects.
Why Use Virtual Environments?
- Isolation: Keeps project-specific dependencies separate from global installations.
- Consistency: Ensures that your project runs in the same environment across different systems.
- Reproducibility: Makes it easy to share and replicate the project setup.
5. Manage Dependencies with requirements.txt
Keeping track of your project’s dependencies is crucial for easy collaboration and deployment. Here’s how you can manage them with a requirements.txt
file:
1. Save Dependencies to requirements.txt
You can manually create a requirements.txt
file and list the libraries required for your project. For example:
Example of requirements.txt
langchain_openai
langchain_core
python-dotenv
streamlit
Alternatively, you can automatically generate the file with all installed dependencies (by pip install dep_name) using pip freeze
:
pip freeze > requirements.txt
This command captures the exact versions of all packages installed in your virtual environment and saves them to requirements.txt
.
Example Generated by pip freeze
langchain==0.0.150
openai==0.27.2
python-dotenv==1.0.0
streamlit==1.25.0
2. Install Dependencies from requirements.txt
To recreate the same environment in another system or environment, use the requirements.txt
file:
pip install -r requirements.txt
This ensures that all required libraries are installed with the exact versions specified in the file.
Why Use requirements.txt
?
- Reproducibility: Ensures that anyone working on the project installs the correct versions of dependencies.
- Portability: Makes it easy to share the environment setup with team members or deploy it to production.
- Version Control: Avoids surprises from updates or changes in package versions.
By using requirements.txt
, you ensure a smooth and consistent development workflow, whether working solo or with a team.
With this setup, you’re ready to work on Python projects efficiently using Conda virtual environments. Happy coding!
Source link
lol