Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Distribute extension to install components listed in extras_require

Project description

This package adds a command to distribute to interact with the extra components listed in extras_require.

For example, you could write a setup.py containing:

setup(
    name="Project-A",
    ...
    extras_require={
        'PDF': ["ReportLab>=1.2", "RXP"],
        'reST': ["docutils>=0.3"],
    }
 )

Then distribute-install_component allows you to write:

$ python setup.py install_component PDF reST

to install the dependencies needed for these features.

Commandline Arguments

install_component takes a list of components to install dependencies for. These must be listed in the extras_require section of the package.

The -l option can be used to list the components available.

Configuring a package

To make distribute-install_component available in your package, you can add it to setup_requires in your setup.py:

setup(
    name='myproject',
    ...
    setup_requires=[
        'distribute-install_component',
    ]
)

Tips

You can use distribute-install_requires to provide development dependencies, such as documentation builders or testing packages:

setup(
    name='myproject',
    ...
    setup_requires=[
        'distribute-install_component',
    ],
    extras_require={
        'test': ['nose==1.1.2', 'mock==0.8.0'],
        'docs': ['Sphinx>=1.1.3', 'sphinxcontrib-httpdomain==1.1.7'],
    }
)

Then normal users can just run

$ python setup.py install

While developers can run

$ python setup.py develop install_component test docs

Project details


Release history Release notifications

This version
History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
distribute-install_component-0.1.tar.gz (2.2 kB) Copy SHA256 hash SHA256 Source None May 21, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page