Skip to main content

Provides a simple means for an application, without restarting, to temporarily install and use its runtime requirements

Project description

VirtualEnvOnDemand provides a simple means for an application, without restarting, to temporarily install and use its runtime requirements.

The primary means to accomplish this is to call “VirtualEnvOnDemand.enableOnDemandImporter()” which will load the hook into the importer. If an import fails, it will attempt to fetch the corrosponding module and install into current runtime.

You can also explicitly create environments and install packages into them (adding to current runtime). See documentation for more details.

Why?

There are a multitude of uses for this. You may use it for development, share scripts and updates with others without them having to modify their virtualenv or install global packages.

You can use it for “lightweight” distributions, for example you may use third-party libs for testing, but they don’t need to be in your global setup.py “requires”, you can just import them

on-demand when you run tests. Or make up your own use!

Documentation

Can be found at:

https://htmlpreview.github.io/?https://raw.githubusercontent.com/kata198/VirtualEnvOnDemand/master/doc/VirtualEnvOnDemand.html

Example:

The following example shows using “enableOnDemandImporter” to automatically fetch and install to current runtime any unavailable imports.

import sys

from VirtualEnvOnDemand import enableOnDemandImporter

# Activate the hook

enableOnDemandImporter()

# The following imports are not available, and will be installed into current runtime

import IndexedRedis

from AdvancedHTMLParser.exceptions import *

if __name__ == ‘__main__’:

sys.stdout.write(‘IndexedRedis version: ‘ + IndexedRedis.__version__ + ‘\n’)

import AdvancedHTMLParser

sys.stdout.write(‘AdvancedHTMLParser version: ‘ + AdvancedHTMLParser.__version__ + ‘\n’)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

VirtualEnvOnDemand-2.1.0.tar.gz (22.8 kB view details)

Uploaded Source

File details

Details for the file VirtualEnvOnDemand-2.1.0.tar.gz.

File metadata

File hashes

Hashes for VirtualEnvOnDemand-2.1.0.tar.gz
Algorithm Hash digest
SHA256 8466829ce0d58b5a9611f9c80952d300b45843ed43a852faed513707218b9f92
MD5 b424a9dbd0592379fd0f8fca7fed6a36
BLAKE2b-256 e962528f8049b492731250f465d374ddc078e9ebad9aa82c645555436ff5253c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page