Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/usernein/activate-virtualenv
Context manager to activate and deactivate Python virtualenvs programatically
https://github.com/usernein/activate-virtualenv
Last synced: 3 months ago
JSON representation
Context manager to activate and deactivate Python virtualenvs programatically
- Host: GitHub
- URL: https://github.com/usernein/activate-virtualenv
- Owner: usernein
- License: mit
- Created: 2023-11-03T01:08:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-03T01:52:43.000Z (about 1 year ago)
- Last Synced: 2024-07-05T16:36:38.959Z (4 months ago)
- Language: Python
- Homepage:
- Size: 6.84 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# activate-virtualenv
`activate-virtualenv` is a Python project that offers a context manager that allows users to easily activate a virtual
environments programatically. A virtual environment is an isolated Python environment that allows users to manage and
install packages separately from their system Python installation. This project provides a simple and convenient way to
activate and (automatically) deactivate a virtual environment and start working within it.## Installation
To install the `activate-virtualenv` package, you can use `pip`:
```shell
pip install activate-virtualenv
```Or rye:
```shell
rye install activate-virtualenv
```Or anything else that downloads packages from [PyPI](https://pypi.org/project/activate-virtualenv/).
## Usage
To use the `activate_virtualenv` context manager, you'll need to import it into your Python script. Here's how to get
started:1. Import the `activate_virtualenv` context manager:
```python
from activate_virtualenv import activate_virtualenv
```2. Create an instance of `activate_virtualenv` by providing the path to your target virtual environment:
```python
# Replace 'path_to_your_venv' with the actual path to your virtual environment.
with activate_virtualenv('path_to_your_venv'):
# Your code here
# The virtual environment is active within this block.
# The original environment is automatically restored when exiting the 'with' block.
```### Example
Here's an example of how you can use `activate_virtualenv`:
```python
from activate_virtualenv import activate_virtualenv# Specify the path to your virtual environment
venv_path = '/path/to/your/virtualenv'# Activate the virtual environment temporarily
with activate_virtualenv(venv_path):
# Your code that requires the virtual environment
from subscript import function# Your dependencies in the specified virtual environment will be used here.
function()# Once you exit the 'with' block, you are back to your original environment.
# You can now use the modules and dependencies from your original environment.
```## How It Works
The `activate_virtualenv` context manager temporarily modifies environment variables and Python's `sys` module to
activate the specified virtual environment. When you enter the `with` block, it runs the virtual environment activation
script `activate_this.py` found in the `bin` directory of the specified virtual environment. This sets up the
environment to use the
virtual environment's Python interpreter and dependencies. When you exit the `with` block, it restores the original
environment settings by manually undoing the changes made ny the activation script.## Important Notes
- This script is intended for use in Python 3 environments.
- Ensure that the virtual environment path you provide is valid. It should be the path to the virtual environment's
root directory.
- Make sure that the virtual environment contains the standard `activate_this.py` script in the `bin` directory. This
script is required to activate the virtual environment. If you are using poetry, rye or virtualenv to manage your
virtual environments, this script should be present by default.## License
This project is licensed under the MIT License. For more information, please refer to the `LICENSE` file.
## Issues and Contributions
If you encounter any issues or have suggestions for improvements, please feel free
to [open an issue](https://github.com/usernein/activate-virtualenv/issues) or submit a pull request on
the [GitHub repository](https://github.com/usernein/activate-virtualenv).