Introduction to virtualenv
virtualenv
is a tool that allows you to create isolated Python environments. It’s particularly useful for managing dependencies and ensuring your projects remain consistent across different development and production environments.
Creating a Virtual Environment
To create a virtual environment, you can use the following command:
virtualenv myenv
This will create a directory named myenv
containing all necessary executables for using the packages that a Python project would need.
Activating the Virtual Environment
To activate the virtual environment, you can use:
# For Windows myenv\Scripts\activate
# For Unix or MacOS source myenv/bin/activate
Deactivating the Virtual Environment
To deactivate the virtual environment, simply use:
deactivate
Installing Packages in a Virtual Environment
Once the virtual environment is activated, you can use pip to install packages. For example:
pip install requests
Freezing the Environment
To generate a list of installed packages along with their versions, use:
pip freeze > requirements.txt
Using a Requirements File
You can install the packages listed in the requirements file using:
pip install -r requirements.txt
API Examples
Example API 1:
Creating a new environment with specific Python version:
virtualenv myenv -p python3.8
Example API 2:
Checking the path of the virtual environment:
# After activating
which python
Example API 3:
List of installed packages:
pip list
App Example Using virtualenv
Let’s create a simple Flask web application within a virtual environment.
# Step 1: Create and activate virtual environment
virtualenv flask_env
source flask_env/bin/activate
# Step 2: Install Flask
pip install Flask
# Step 3: Create a simple Flask app
echo "
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
" > app.py
# Step 4: Run the app
python app.py
By following the above steps, you have created and run a simple Flask web server within a virtual environment.
Hash: 5523a46615266b0cd19a08dde161e12fb3d6eb23fadefdc404bec9982f96591e