<p dir="auto">Something has changed in numpy.distutils that is causing matplotlib to not build.</p>
<p dir="auto">I've tried <code class="notranslate">git bisecting</code>, but the history seems a little convoluted and it isn't helping to find the issue.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Traceback (most recent call last):
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 152, in save_modules
    yield saved
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 193, in setup_context
    yield
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 237, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 267, in run
    return func()
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 236, in runner
    _execfile(setup_script, ns)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 46, in _execfile
    exec(code, globals, locals)
  File &quot;/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py&quot;, line 264, in &lt;module&gt;
    if isinstance(package, str):
  File &quot;/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py&quot;, line 256, in setup_package
    # Go through all of the packages and figure out which ones we are
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/core.py&quot;, line 135, in setup
    config = configuration()
  File &quot;/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py&quot;, line 156, in configuration

  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 1001, in add_subpackage
    caller_level = 2)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 970, in get_subpackage
    caller_level = caller_level + 1)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 907, in _get_configuration_from_setup_py
    config = setup_module.configuration(*args)
  File &quot;numpy/setup.py&quot;, line 11, in configuration
    from setuptools.command.test import test as TestCommand
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 1001, in add_subpackage
    caller_level = 2)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 970, in get_subpackage
    caller_level = caller_level + 1)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 882, in _get_configuration_from_setup_py
    ('.py', 'U', 1))
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py&quot;, line 234, in load_module
    return load_source(name, filename, file)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py&quot;, line 172, in load_source
    module = _load(spec)
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 693, in _load
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 673, in _load_unlocked
  File &quot;&lt;frozen importlib._bootstrap_external&gt;&quot;, line 662, in exec_module
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 222, in _call_with_frames_removed
  File &quot;numpy/core/setup.py&quot;, line 13, in &lt;module&gt;
    import sys
ImportError: No module named 'numpy._build_utils'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File &quot;setup.py&quot;, line 381, in &lt;module&gt;
    **extra_args
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/distutils/core.py&quot;, line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/dist.py&quot;, line 268, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/dist.py&quot;, line 313, in fetch_build_eggs
    replace_conflicting=True,
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/pkg_resources/__init__.py&quot;, line 836, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/pkg_resources/__init__.py&quot;, line 1081, in best_match
    return self.obtain(req, installer)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/pkg_resources/__init__.py&quot;, line 1093, in obtain
    return installer(requirement)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/dist.py&quot;, line 380, in fetch_build_egg
    return cmd.easy_install(req)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py&quot;, line 629, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py&quot;, line 659, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py&quot;, line 842, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py&quot;, line 1070, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py&quot;, line 1056, in run_setup
    run_setup(setup_script, args)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 240, in run_setup
    raise
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/contextlib.py&quot;, line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 193, in setup_context
    yield
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/contextlib.py&quot;, line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 164, in save_modules
    saved_exc.resume()
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 139, in resume
    compat.reraise(type, exc, self._tb)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/compat.py&quot;, line 65, in reraise
    raise value.with_traceback(tb)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 152, in save_modules
    yield saved
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 193, in setup_context
    yield
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 237, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 267, in run
    return func()
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 236, in runner
    _execfile(setup_script, ns)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py&quot;, line 46, in _execfile
    exec(code, globals, locals)
  File &quot;/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py&quot;, line 264, in &lt;module&gt;
    if isinstance(package, str):
  File &quot;/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py&quot;, line 256, in setup_package
    # Go through all of the packages and figure out which ones we are
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/core.py&quot;, line 135, in setup
    config = configuration()
  File &quot;/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py&quot;, line 156, in configuration

  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 1001, in add_subpackage
    caller_level = 2)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 970, in get_subpackage
    caller_level = caller_level + 1)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 907, in _get_configuration_from_setup_py
    config = setup_module.configuration(*args)
  File &quot;numpy/setup.py&quot;, line 11, in configuration
    from setuptools.command.test import test as TestCommand
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 1001, in add_subpackage
    caller_level = 2)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 970, in get_subpackage
    caller_level = caller_level + 1)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py&quot;, line 882, in _get_configuration_from_setup_py
    ('.py', 'U', 1))
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py&quot;, line 234, in load_module
    return load_source(name, filename, file)
  File &quot;/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py&quot;, line 172, in load_source
    module = _load(spec)
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 693, in _load
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 673, in _load_unlocked
  File &quot;&lt;frozen importlib._bootstrap_external&gt;&quot;, line 662, in exec_module
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 222, in _call_with_frames_removed
  File &quot;numpy/core/setup.py&quot;, line 13, in &lt;module&gt;
    import sys
ImportError: No module named 'numpy._build_utils'"><pre class="notranslate"><code class="notranslate">Traceback (most recent call last):
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 152, in save_modules
    yield saved
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 193, in setup_context
    yield
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 237, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 267, in run
    return func()
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 236, in runner
    _execfile(setup_script, ns)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 46, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py", line 264, in &lt;module&gt;
    if isinstance(package, str):
  File "/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py", line 256, in setup_package
    # Go through all of the packages and figure out which ones we are
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/core.py", line 135, in setup
    config = configuration()
  File "/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py", line 156, in configuration

  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 1001, in add_subpackage
    caller_level = 2)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 970, in get_subpackage
    caller_level = caller_level + 1)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 907, in _get_configuration_from_setup_py
    config = setup_module.configuration(*args)
  File "numpy/setup.py", line 11, in configuration
    from setuptools.command.test import test as TestCommand
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 1001, in add_subpackage
    caller_level = 2)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 970, in get_subpackage
    caller_level = caller_level + 1)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 882, in _get_configuration_from_setup_py
    ('.py', 'U', 1))
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py", line 172, in load_source
    module = _load(spec)
  File "&lt;frozen importlib._bootstrap&gt;", line 693, in _load
  File "&lt;frozen importlib._bootstrap&gt;", line 673, in _load_unlocked
  File "&lt;frozen importlib._bootstrap_external&gt;", line 662, in exec_module
  File "&lt;frozen importlib._bootstrap&gt;", line 222, in _call_with_frames_removed
  File "numpy/core/setup.py", line 13, in &lt;module&gt;
    import sys
ImportError: No module named 'numpy._build_utils'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 381, in &lt;module&gt;
    **extra_args
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/dist.py", line 268, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/dist.py", line 313, in fetch_build_eggs
    replace_conflicting=True,
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/pkg_resources/__init__.py", line 836, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1081, in best_match
    return self.obtain(req, installer)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1093, in obtain
    return installer(requirement)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/dist.py", line 380, in fetch_build_egg
    return cmd.easy_install(req)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 629, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 659, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 842, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 1070, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 1056, in run_setup
    run_setup(setup_script, args)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 240, in run_setup
    raise
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 193, in setup_context
    yield
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 164, in save_modules
    saved_exc.resume()
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 139, in resume
    compat.reraise(type, exc, self._tb)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/compat.py", line 65, in reraise
    raise value.with_traceback(tb)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 152, in save_modules
    yield saved
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 193, in setup_context
    yield
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 237, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 267, in run
    return func()
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 236, in runner
    _execfile(setup_script, ns)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/setuptools/sandbox.py", line 46, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py", line 264, in &lt;module&gt;
    if isinstance(package, str):
  File "/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py", line 256, in setup_package
    # Go through all of the packages and figure out which ones we are
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/core.py", line 135, in setup
    config = configuration()
  File "/tmp/easy_install-ywbtwurq/numpy-1.10.1/setup.py", line 156, in configuration

  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 1001, in add_subpackage
    caller_level = 2)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 970, in get_subpackage
    caller_level = caller_level + 1)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 907, in _get_configuration_from_setup_py
    config = setup_module.configuration(*args)
  File "numpy/setup.py", line 11, in configuration
    from setuptools.command.test import test as TestCommand
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 1001, in add_subpackage
    caller_level = 2)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 970, in get_subpackage
    caller_level = caller_level + 1)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 882, in _get_configuration_from_setup_py
    ('.py', 'U', 1))
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/mdboom/.pyenv/versions/3.5.0/lib/python3.5/imp.py", line 172, in load_source
    module = _load(spec)
  File "&lt;frozen importlib._bootstrap&gt;", line 693, in _load
  File "&lt;frozen importlib._bootstrap&gt;", line 673, in _load_unlocked
  File "&lt;frozen importlib._bootstrap_external&gt;", line 662, in exec_module
  File "&lt;frozen importlib._bootstrap&gt;", line 222, in _call_with_frames_removed
  File "numpy/core/setup.py", line 13, in &lt;module&gt;
    import sys
ImportError: No module named 'numpy._build_utils'
</code></pre></div>
<p dir="auto">NumPy prefers using <code class="notranslate">distutils</code> to <code class="notranslate">setuptools</code> for the <code class="notranslate">install</code> step and thus creation of the <code class="notranslate">egg-info</code> filename. This means that the <code class="notranslate">egg-info</code> filename gets the <code class="notranslate">+</code> in the version replaced with <code class="notranslate">_</code> and written out as <code class="notranslate">numpy-1.11.0.dev0_2329eae.egg-info</code>, despite the fact that the version is <code class="notranslate">numpy-1.11.0.dev0+2329eae</code>.</p>
<p dir="auto">This causes a problem for satisfying requirements for other packages, since <code class="notranslate">setuptools</code> sees this as a <code class="notranslate">LegacyVersion</code> (after replacing the <code class="notranslate">_</code> with a <code class="notranslate">-</code> in the filename), and thus you can get errors like this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pkg_resources.VersionConflict: (numpy 1.11.0.dev0-2329eae (/home/larsoner/.local/lib/python2.7/site-packages), Requirement.parse('numpy&gt;=1.6.1'))"><pre class="notranslate"><code class="notranslate">pkg_resources.VersionConflict: (numpy 1.11.0.dev0-2329eae (/home/larsoner/.local/lib/python2.7/site-packages), Requirement.parse('numpy&gt;=1.6.1'))
</code></pre></div>
<p dir="auto">One solution that might work is using <code class="notranslate">setuptools</code> for the <code class="notranslate">install</code> step, because <code class="notranslate">setuptools</code> creates the name with the <code class="notranslate">+</code> in it and it thus gets parsed properly. However, given the lengths taken to triage <code class="notranslate">distutils</code> vs <code class="notranslate">setuptools</code> in that step, I assume there is a reason why <code class="notranslate">distutils</code> is preferred. And it looks like back in 2013 this was addressed:</p>
<p dir="auto"><a class="commit-link" href="https://github.com/scipy/scipy/commit/a4e93fbd1c1e192b699e1ff545236dab7cffc579#diff-2eeaed663bd0d25b7e608891384b7298L185">scipy/scipy@<tt>a4e93fb</tt>#diff-2eeaed663bd0d25b7e608891384b7298L185</a></p>
<p dir="auto">Maybe <code class="notranslate">setuptools</code> would be okay to use now...?</p>
<p dir="auto">Related <code class="notranslate">setuptools</code> ticket:</p>
<p dir="auto"><a href="https://bitbucket.org/pypa/setuptools/issues/419/setuptools-pkg_resources-fails-to-detect" rel="nofollow">https://bitbucket.org/pypa/setuptools/issues/419/setuptools-pkg_resources-fails-to-detect</a></p>
<p dir="auto">Any ideas for how to solve this problem?</p>