Skip to content

Add support for dependencies (such as six) #229

Closed
@ghost

Description

Originally reported by: jaraco (Bitbucket: jaraco, GitHub: jaraco)


I'd like to use the six library for Python 2 compatibility.

As it currently stands, setuptools does not have any non-extra dependencies, so introduction of any dependency has the potentially to be disruptive, so this ticket is created primarily around that discussion.

Here's what I have in mind:

  1. Vendor six in the sdist to be used when setuptools installs itself (but never install from that verison).
  2. Declare those dependencies as proper dependencies in install_requires.
  3. Have the code reference those libraries naturally.

This change would require bootstrap installers to either:

  • Have the dependencies installed in advance.
  • Have network access to install the dependencies from PyPI.
  • Configure an index-url from which to install the dependencies.

What I want to avoid is for setuptools to vendor the dependencies for any purpose other than bootstrapping. I'd also like to avoid having conditional imports in the code. I especially want to avoid creating complicated vendoring scenarios that violate the expectations of platform package maintainers (namely Debian and Fedora).


Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions