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

no module 'six' when specifying minimum setuptools requirement. #1002

Closed
ghost opened this issue Mar 26, 2017 · 4 comments
Closed

no module 'six' when specifying minimum setuptools requirement. #1002

ghost opened this issue Mar 26, 2017 · 4 comments

Comments

@ghost
Copy link

ghost commented Mar 26, 2017

When using setup_requires to specify a minimum setuptools, I received the following:

Obtaining file:///home/travis/build/lord63/py-spin
    Traceback (most recent call last):
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 150, in save_modules
        yield saved
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 190, in setup_context
        __import__('setuptools')
      File "/tmp/easy_install-jgtte7ad/setuptools-34.3.2/setuptools/__init__.py", line 10, in <module>
    ImportError: No module named 'six'
    During handling of the above exception, another exception occurred:
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "/home/travis/build/lord63/py-spin/setup.py", line 50, in <module>
        'futures; python_version < "3.2"',
      File "/opt/python/3.4.2/lib/python3.4/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/dist.py", line 265, in __init__
        self.fetch_build_eggs(attrs['setup_requires'])
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/dist.py", line 311, in fetch_build_eggs
        replace_conflicting=True,
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/pkg_resources/__init__.py", line 797, in resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/pkg_resources/__init__.py", line 1047, in best_match
        return self.obtain(req, installer)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/pkg_resources/__init__.py", line 1059, in obtain
        return installer(requirement)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/dist.py", line 378, in fetch_build_egg
        return cmd.easy_install(req)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 623, in easy_install
        return self.install_item(spec, dist.location, tmpdir, deps)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 653, in install_item
        dists = self.install_eggs(spec, download, tmpdir)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 838, in install_eggs
        return self.build_and_install(setup_script, setup_base)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 1066, in build_and_install
        self.run_setup(setup_script, setup_base, args)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 1052, in run_setup
        run_setup(setup_script, args)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 225, in run_setup
        with setup_context(setup_dir):
      File "/opt/python/3.4.2/lib/python3.4/contextlib.py", line 59, in __enter__
        return next(self.gen)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 191, in setup_context
        yield
      File "/opt/python/3.4.2/lib/python3.4/contextlib.py", line 77, in __exit__
        self.gen.throw(type, value, traceback)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 162, in save_modules
        saved_exc.resume()
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 137, in resume
        compat.reraise(type, exc, self._tb)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/compat.py", line 65, in reraise
        raise value.with_traceback(tb)
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 150, in save_modules
        yield saved
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 190, in setup_context
        __import__('setuptools')
      File "/tmp/easy_install-jgtte7ad/setuptools-34.3.2/setuptools/__init__.py", line 10, in <module>
    ImportError: No module named 'six'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 150, in save_modules
    
        yield saved
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 190, in setup_context
    
        __import__('setuptools')
    
      File "/tmp/easy_install-jgtte7ad/setuptools-34.3.2/setuptools/__init__.py", line 10, in <module>
    
    ImportError: No module named 'six'
    
    
    
    During handling of the above exception, another exception occurred:
    
    
    
    Traceback (most recent call last):
    
      File "<string>", line 20, in <module>
    
      File "/home/travis/build/lord63/py-spin/setup.py", line 50, in <module>
    
        'futures; python_version < "3.2"',
    
      File "/opt/python/3.4.2/lib/python3.4/distutils/core.py", line 108, in setup
    
        _setup_distribution = dist = klass(attrs)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/dist.py", line 265, in __init__
    
        self.fetch_build_eggs(attrs['setup_requires'])
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/dist.py", line 311, in fetch_build_eggs
    
        replace_conflicting=True,
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/pkg_resources/__init__.py", line 797, in resolve
    
        dist = best[req.key] = env.best_match(req, ws, installer)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/pkg_resources/__init__.py", line 1047, in best_match
    
        return self.obtain(req, installer)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/pkg_resources/__init__.py", line 1059, in obtain
    
        return installer(requirement)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/dist.py", line 378, in fetch_build_egg
    
        return cmd.easy_install(req)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 623, in easy_install
    
        return self.install_item(spec, dist.location, tmpdir, deps)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 653, in install_item
    
        dists = self.install_eggs(spec, download, tmpdir)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 838, in install_eggs
    
        return self.build_and_install(setup_script, setup_base)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 1066, in build_and_install
    
        self.run_setup(setup_script, setup_base, args)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/command/easy_install.py", line 1052, in run_setup
    
        run_setup(setup_script, args)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 225, in run_setup
    
        with setup_context(setup_dir):
    
      File "/opt/python/3.4.2/lib/python3.4/contextlib.py", line 59, in __enter__
    
        return next(self.gen)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 191, in setup_context
    
        yield
    
      File "/opt/python/3.4.2/lib/python3.4/contextlib.py", line 77, in __exit__
    
        self.gen.throw(type, value, traceback)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 162, in save_modules
    
        saved_exc.resume()
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 137, in resume
    
        compat.reraise(type, exc, self._tb)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/compat.py", line 65, in reraise
    
        raise value.with_traceback(tb)
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 150, in save_modules
    
        yield saved
    
      File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/setuptools/sandbox.py", line 190, in setup_context
    
        __import__('setuptools')
    
      File "/tmp/easy_install-jgtte7ad/setuptools-34.3.2/setuptools/__init__.py", line 10, in <module>
    
    ImportError: No module named 'six'
@ghost
Copy link
Author

ghost commented Mar 26, 2017

setup.py is the following:

#!/usr/bin/env python
#  -*- coding: utf-8 -*-

import sys

from setuptools import setup

import pyspin


try:
    import pypandoc
    long_description = pypandoc.convert('README.md', 'rst')
except (IOError, ImportError):
    with open('README.md') as f:
        long_description = f.read()


setup(
    name='pyspin',
    version=pyspin.__version__,
    description='Little terminal spinner lib.',
    long_description=long_description,
    url='http://github.com/lord63/py-spin',
    author='lord63',
    author_email='[email protected]',
    license='MIT',
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Operating System :: POSIX',
        'Operating System :: POSIX :: Linux',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
    ],
    keywords='terminal spin spinner',
    packages=['pyspin'],
    include_package_data=True,
    setup_requires=[
        'six',
        'setuptools >= 20.8.1',
    ],
    install_requires=[
        'futures; python_version < "3.2"',
    ],
)

@jaraco
Copy link
Member

jaraco commented Mar 27, 2017

You can't use setup_requires to indicate setuptools, in part because setup_requires setuptools but also because setuptools 34 dropped support for self-installation using easy_install.

@jaraco jaraco closed this as completed Mar 27, 2017
@ghost
Copy link
Author

ghost commented Mar 27, 2017

So I guess it's not possible to indicate that you need a newer setuptools installed?

@jaraco
Copy link
Member

jaraco commented Mar 27, 2017

@xoviat: At this time, no, but PEP 518 describes a spec that will, and pip is including support for PEP 518 in an upcoming release.

benvand added a commit to Crown-Commercial-Service/digitalmarketplace-aws that referenced this issue May 25, 2017
A bug in mocks `setup.py` means that setuptools cannot find the six module. Updating setuptools satisfies this dependency.

pypa/setuptools#1002 (comment)
jaraco (setuptools contributor) 'You can't use setup_requires to indicate setuptools'

https://github.com/testing-cabal/mock/blob/master/setup.py#L5
mock/setup.py
```
import setuptools

setuptools.setup(
    setup_requires=['pbr>=1.3', 'setuptools>=17.1'],
    pbr=True)
```
benvand added a commit to Crown-Commercial-Service/digitalmarketplace-aws that referenced this issue May 25, 2017
A bug in mocks `setup.py` means that setuptools cannot find the six module. Updating setuptools satisfies this dependency.

pypa/setuptools#1002 (comment)
jaraco (setuptools contributor) 'You can't use setup_requires to indicate setuptools'

https://github.com/testing-cabal/mock/blob/master/setup.py#L5
mock/setup.py
```
import setuptools

setuptools.setup(
    setup_requires=['pbr>=1.3', 'setuptools>=17.1'],
    pbr=True)
```
benvand added a commit to Crown-Commercial-Service/digitalmarketplace-aws that referenced this issue May 25, 2017
A bug in mocks `setup.py` means that setuptools cannot find the six module. Updating setuptools satisfies this dependency.

pypa/setuptools#1002 (comment)
jaraco (setuptools contributor) 'You can't use setup_requires to indicate setuptools'

https://github.com/testing-cabal/mock/blob/master/setup.py#L5
mock/setup.py
```
import setuptools

setuptools.setup(
    setup_requires=['pbr>=1.3', 'setuptools>=17.1'],
    pbr=True)
```
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