Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

setup.py imports six to get version, sometimes gets version of six used by setuptools #188

Open
jimfulton opened this issue Apr 2, 2017 · 0 comments

Comments

@jimfulton
Copy link

Installing six from the six source distribution (sometimes) causes six's version to be determined incorrectly. Setuptools now requires six, which means that when the setup script imports six, it (potentially) gets the six that setuptools requires, not the one included in the distribution.

When buildout tries to install a pinned version of six, the install fails. For example, it tries to install six 1.9 but when it runs the setup script, it installs it as 1.10, which fails, because the 1.10 is already installed.

If pip tries to install 1.9, the install succeeds. If pip is asked to install a version before 1.6, the install fails, because pip places the new distribution in the path ahead of whatever version of six is used with setuptools and setuptools fails.

The difference is that when buildout runs setup, it puts it's own path before the distribution directory, while pip puts the distribution directory first. If I hack the six 1.1 source release to set the version statically, I can install it with buildout. That wouldn't work for pip.

The simplest solution would be to include the version in the setup script. Alternatively, you could just read it from six.py.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant