sphinx-doc / sphinx-autobuild

Watch a Sphinx directory and rebuild the documentation when a change is detected. Also includes a hot-reload web server.
MIT License
541 stars 82 forks source link

pip install fails: "ModuleNotFoundError: No module named 'setuptools.wheel'" #65

Closed drscotthawley closed 6 years ago

drscotthawley commented 6 years ago

Hi, I've been trying to install sphinx-autobuild using the recommended pip install, but it fails. sphinx installs fine, but sphinx-autobuild gives the following errors below... This is with Anaconda Python 3.6 on Ubuntu Linux 16.04. It seems as if setuptools isn't installed, at yet it is:

$ pip install setuptools
Requirement already satisfied: setuptools in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (36.4.0)

Here is the build log:

$ pip install sphinx-autobuild
Collecting sphinx-autobuild
  Using cached https://files.pythonhosted.org/packages/41/21/d7407dd6258ca4f4dfe6b3edbd076702042c02bfcdd82b6f71cb58a359d2/sphinx-autobuild-0.7.1.tar.gz
Requirement already satisfied: watchdog>=0.7.1 in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from sphinx-autobuild) (0.8.3)
Requirement already satisfied: argh>=0.24.1 in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from sphinx-autobuild) (0.26.2)
Requirement already satisfied: pathtools>=0.1.2 in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from sphinx-autobuild) (0.1.2)
Requirement already satisfied: PyYAML>=3.10 in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from sphinx-autobuild) (3.12)
Requirement already satisfied: tornado>=3.2 in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from sphinx-autobuild) (4.5.2)
Requirement already satisfied: port_for==0.3.1 in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from sphinx-autobuild) (0.3.1)
Requirement already satisfied: livereload>=2.3.0 in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from sphinx-autobuild) (2.5.2)
Requirement already satisfied: six in /opt/anaconda/envs/test_st/lib/python3.6/site-packages (from livereload>=2.3.0->sphinx-autobuild) (1.11.0)
Building wheels for collected packages: sphinx-autobuild
  Running setup.py bdist_wheel for sphinx-autobuild ... error
  Complete output from command /opt/anaconda/envs/test_st/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-fbzjw8_q/sphinx-autobuild/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-yfxzltqr --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib
  creating build/lib/sphinx_autobuild
  copying sphinx_autobuild/__main__.py -> build/lib/sphinx_autobuild
  copying sphinx_autobuild/__init__.py -> build/lib/sphinx_autobuild
  creating build/lib/sphinx_autobuild/test
  copying sphinx_autobuild/test/test_ignored.py -> build/lib/sphinx_autobuild/test
  copying sphinx_autobuild/test/__init__.py -> build/lib/sphinx_autobuild/test
  copying sphinx_autobuild/test/test_autobuild.py -> build/lib/sphinx_autobuild/test
  running egg_info
  writing sphinx_autobuild.egg-info/PKG-INFO
  writing dependency_links to sphinx_autobuild.egg-info/dependency_links.txt
  writing entry points to sphinx_autobuild.egg-info/entry_points.txt
  writing requirements to sphinx_autobuild.egg-info/requires.txt
  writing top-level names to sphinx_autobuild.egg-info/top_level.txt
  reading manifest file 'sphinx_autobuild.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'NEWS'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching 'pytest.ini'
  warning: no previously-included files found matching 'CONTRIBUTING.rst'
  warning: no previously-included files found matching 'requirements-dev.txt'
  warning: no previously-included files found matching 'requirements-testing.txt'
  warning: no previously-included files found matching 'fabfile.py'
  no previously-included directories found matching 'fabtasks'
  no previously-included directories found matching 'docs/_build'
  writing manifest file 'sphinx_autobuild.egg-info/SOURCES.txt'
  installing to build/bdist.linux-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.linux-x86_64
  creating build/bdist.linux-x86_64/wheel
  creating build/bdist.linux-x86_64/wheel/sphinx_autobuild
  copying build/lib/sphinx_autobuild/__main__.py -> build/bdist.linux-x86_64/wheel/sphinx_autobuild
  copying build/lib/sphinx_autobuild/__init__.py -> build/bdist.linux-x86_64/wheel/sphinx_autobuild
  creating build/bdist.linux-x86_64/wheel/sphinx_autobuild/test
  copying build/lib/sphinx_autobuild/test/test_ignored.py -> build/bdist.linux-x86_64/wheel/sphinx_autobuild/test
  copying build/lib/sphinx_autobuild/test/__init__.py -> build/bdist.linux-x86_64/wheel/sphinx_autobuild/test
  copying build/lib/sphinx_autobuild/test/test_autobuild.py -> build/bdist.linux-x86_64/wheel/sphinx_autobuild/test
  running install_egg_info
  Copying sphinx_autobuild.egg-info to build/bdist.linux-x86_64/wheel/sphinx_autobuild-0.7.1-py3.6.egg-info
  running install_scripts
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-fbzjw8_q/sphinx-autobuild/setup.py", line 111, in <module>
      'Topic :: Software Development :: Libraries :: Python Modules',
    File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
      return distutils.core.setup(**attrs)
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 238, in run
      self.run_command('install')
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
      return orig.install.run(self)
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/command/install.py", line 557, in run
      self.run_command(cmd_name)
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/command/install_scripts.py", line 17, in run
      import setuptools.command.easy_install as ei
    File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 52, in <module>
      from setuptools.package_index import (
    File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/package_index.py", line 27, in <module>
      from setuptools.wheel import Wheel
  ModuleNotFoundError: No module named 'setuptools.wheel'

  ----------------------------------------
  Failed building wheel for sphinx-autobuild
  Running setup.py clean for sphinx-autobuild
Failed to build sphinx-autobuild
Installing collected packages: sphinx-autobuild
  Running setup.py install for sphinx-autobuild ... error
    Complete output from command /opt/anaconda/envs/test_st/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-fbzjw8_q/sphinx-autobuild/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-zxhqyqbf/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/sphinx_autobuild
    copying sphinx_autobuild/__main__.py -> build/lib/sphinx_autobuild
    copying sphinx_autobuild/__init__.py -> build/lib/sphinx_autobuild
    creating build/lib/sphinx_autobuild/test
    copying sphinx_autobuild/test/test_ignored.py -> build/lib/sphinx_autobuild/test
    copying sphinx_autobuild/test/__init__.py -> build/lib/sphinx_autobuild/test
    copying sphinx_autobuild/test/test_autobuild.py -> build/lib/sphinx_autobuild/test
    running egg_info
    writing sphinx_autobuild.egg-info/PKG-INFO
    writing dependency_links to sphinx_autobuild.egg-info/dependency_links.txt
    writing entry points to sphinx_autobuild.egg-info/entry_points.txt
    writing requirements to sphinx_autobuild.egg-info/requires.txt
    writing top-level names to sphinx_autobuild.egg-info/top_level.txt
    reading manifest file 'sphinx_autobuild.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'NEWS'
    warning: no previously-included files found matching '.coveragerc'
    warning: no previously-included files found matching 'pytest.ini'
    warning: no previously-included files found matching 'CONTRIBUTING.rst'
    warning: no previously-included files found matching 'requirements-dev.txt'
    warning: no previously-included files found matching 'requirements-testing.txt'
    warning: no previously-included files found matching 'fabfile.py'
    no previously-included directories found matching 'fabtasks'
    no previously-included directories found matching 'docs/_build'
    writing manifest file 'sphinx_autobuild.egg-info/SOURCES.txt'
    running install_lib
    creating /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild
    copying build/lib/sphinx_autobuild/__main__.py -> /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild
    copying build/lib/sphinx_autobuild/__init__.py -> /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild
    creating /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/test
    copying build/lib/sphinx_autobuild/test/test_ignored.py -> /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/test
    copying build/lib/sphinx_autobuild/test/__init__.py -> /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/test
    copying build/lib/sphinx_autobuild/test/test_autobuild.py -> /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/test
    byte-compiling /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/__main__.py to __main__.cpython-36.pyc
    byte-compiling /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/__init__.py to __init__.cpython-36.pyc
    byte-compiling /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/test/test_ignored.py to test_ignored.cpython-36.pyc
    byte-compiling /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/test/__init__.py to __init__.cpython-36.pyc
    byte-compiling /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild/test/test_autobuild.py to test_autobuild.cpython-36.pyc
    running install_egg_info
    Copying sphinx_autobuild.egg-info to /opt/anaconda/envs/test_st/lib/python3.6/site-packages/sphinx_autobuild-0.7.1-py3.6.egg-info
    running install_scripts
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-fbzjw8_q/sphinx-autobuild/setup.py", line 111, in <module>
        'Topic :: Software Development :: Libraries :: Python Modules',
      File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
        return distutils.core.setup(**attrs)
      File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/command/install.py", line 557, in run
        self.run_command(cmd_name)
      File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/opt/anaconda/envs/test_st/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/command/install_scripts.py", line 17, in run
        import setuptools.command.easy_install as ei
      File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 52, in <module>
        from setuptools.package_index import (
      File "/opt/anaconda/envs/test_st/lib/python3.6/site-packages/setuptools/package_index.py", line 27, in <module>
        from setuptools.wheel import Wheel
    ModuleNotFoundError: No module named 'setuptools.wheel'

    ----------------------------------------
Command "/opt/anaconda/envs/test_st/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-fbzjw8_q/sphinx-autobuild/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-zxhqyqbf/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-fbzjw8_q/sphinx-autobuild/

I also tried installing via conda (https://anaconda.org/conda-forge/sphinx-autobuild), but conda says sphinx-autobuild only works with Python 2.7. ...So. Any ideas?

Thanks.

PS- Also tried the version straight from GitHub. Same error.

drscotthawley commented 6 years ago

Resolved. Even though this was with a fairly recent conda environment, somehow setuptools had gotten corrupted.

Fix was: $ pip uninstall setuptools $ pip install setuptools $ pip install sphinx-autobuild