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

Can't install astropy automatically as a dependency #3541

Closed
josePhoenix opened this issue Feb 23, 2015 · 31 comments · Fixed by astropy/astropy-helpers#144
Closed

Can't install astropy automatically as a dependency #3541

josePhoenix opened this issue Feb 23, 2015 · 31 comments · Fixed by astropy/astropy-helpers#144
Labels
Bug 💤 astropy-helpers PRs and issues related to astropy-helpers
Milestone

Comments

@josePhoenix
Copy link
Contributor

Since Astropy 1.0 was released, I've been seeing problems installing POPPY and WebbPSF with pip. (It's possible this was true with the preceding Astropy release as well. The last time I went through this process of installing "from scratch" was Fall 2014.) They both refer to Astropy through setup_requires and install_requires in their setup.py, and the error seems to implicate astropy in both cases. (It could be something to do with the helpers/package template too, but I don't know enough to say.)

The relevant error: distutils.errors.DistutilsError: Setup script exited with error: [Errno 2] No such file or directory: 'poppy/_compiler.c' (or likewise with s/poppy/webbpsf/)

Output from pip install poppy

(test032)15:22:26 kitsune:~ jlong$ pip install poppy
Downloading/unpacking poppy
  Downloading poppy-0.3.4.tar.gz (1.8MB): 1.8MB downloaded
  Running setup.py (path:/Users/jlong/.virtualenvs/test032/build/poppy/setup.py) egg_info for package poppy
    Searching for astropy
    Reading https://pypi.python.org/simple/astropy/
    Reading http://astropy.org
    Best match: astropy 1.0
    Downloading https://pypi.python.org/packages/source/a/astropy/astropy-1.0.tar.gz#md5=1f15b51eb7cbad3345a34770c87ef906
    Processing astropy-1.0.tar.gz
    Writing /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-Y6iJZH/astropy-1.0/setup.cfg
    Running astropy-1.0/setup.py -q bdist_egg --dist-dir /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-Y6iJZH/astropy-1.0/egg-dist-tmp-dbr7m7
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/Users/jlong/.virtualenvs/test032/build/poppy/setup.py", line 122, in <module>
        **package_info
      File "/Users/jlong/homebrew/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 260, in __init__
        self.fetch_build_eggs(attrs.pop('setup_requires'))
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 285, in fetch_build_eggs
        replace_conflicting=True
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 631, in resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 871, in best_match
        return self.obtain(req, installer)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 883, in obtain
        return installer(requirement)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 335, in fetch_build_egg
        return cmd.easy_install(req)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 595, in easy_install
        return self.install_item(spec, dist.location, tmpdir, deps)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 625, in install_item
        dists = self.install_eggs(spec, download, tmpdir)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 822, in install_eggs
        return self.build_and_install(setup_script, setup_base)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1028, in build_and_install
        self.run_setup(setup_script, setup_base, args)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1016, in run_setup
        raise DistutilsError("Setup script exited with %s" % (v.args[0],))
    distutils.errors.DistutilsError: Setup script exited with error: [Errno 2] No such file or directory: 'poppy/_compiler.c'
    Complete output from command python setup.py egg_info:
    Searching for astropy

Reading https://pypi.python.org/simple/astropy/

Reading http://astropy.org

Best match: astropy 1.0

Downloading https://pypi.python.org/packages/source/a/astropy/astropy-1.0.tar.gz#md5=1f15b51eb7cbad3345a34770c87ef906

Processing astropy-1.0.tar.gz

Writing /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-Y6iJZH/astropy-1.0/setup.cfg

Running astropy-1.0/setup.py -q bdist_egg --dist-dir /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-Y6iJZH/astropy-1.0/egg-dist-tmp-dbr7m7

Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/Users/jlong/.virtualenvs/test032/build/poppy/setup.py", line 122, in <module>

    **package_info

  File "/Users/jlong/homebrew/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup

    _setup_distribution = dist = klass(attrs)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 260, in __init__

    self.fetch_build_eggs(attrs.pop('setup_requires'))

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 285, in fetch_build_eggs

    replace_conflicting=True

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 631, in resolve

    dist = best[req.key] = env.best_match(req, ws, installer)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 871, in best_match

    return self.obtain(req, installer)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 883, in obtain

    return installer(requirement)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 335, in fetch_build_egg

    return cmd.easy_install(req)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 595, in easy_install

    return self.install_item(spec, dist.location, tmpdir, deps)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 625, in install_item

    dists = self.install_eggs(spec, download, tmpdir)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 822, in install_eggs

    return self.build_and_install(setup_script, setup_base)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1028, in build_and_install

    self.run_setup(setup_script, setup_base, args)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1016, in run_setup

    raise DistutilsError("Setup script exited with %s" % (v.args[0],))

distutils.errors.DistutilsError: Setup script exited with error: [Errno 2] No such file or directory: 'poppy/_compiler.c'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /Users/jlong/.virtualenvs/test032/build/poppy
Storing debug log for failure in /Users/jlong/.pip/pip.log

Output from pip install webbpsf

(test032)15:22:48 kitsune:~ jlong$ pip install webbpsf
Downloading/unpacking webbpsf
  Downloading webbpsf-0.3.2.tar.gz (15.6MB): 15.6MB downloaded
  Running setup.py (path:/Users/jlong/.virtualenvs/test032/build/webbpsf/setup.py) egg_info for package webbpsf
    Searching for astropy
    Reading https://pypi.python.org/simple/astropy/
    Reading http://astropy.org
    Best match: astropy 1.0
    Downloading https://pypi.python.org/packages/source/a/astropy/astropy-1.0.tar.gz#md5=1f15b51eb7cbad3345a34770c87ef906
    Processing astropy-1.0.tar.gz
    Writing /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-3rxciS/astropy-1.0/setup.cfg
    Running astropy-1.0/setup.py -q bdist_egg --dist-dir /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-3rxciS/astropy-1.0/egg-dist-tmp-FL8U7K
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/Users/jlong/.virtualenvs/test032/build/webbpsf/setup.py", line 122, in <module>
        **package_info
      File "/Users/jlong/homebrew/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 260, in __init__
        self.fetch_build_eggs(attrs.pop('setup_requires'))
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 285, in fetch_build_eggs
        replace_conflicting=True
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 631, in resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 871, in best_match
        return self.obtain(req, installer)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 883, in obtain
        return installer(requirement)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 335, in fetch_build_egg
        return cmd.easy_install(req)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 595, in easy_install
        return self.install_item(spec, dist.location, tmpdir, deps)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 625, in install_item
        dists = self.install_eggs(spec, download, tmpdir)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 822, in install_eggs
        return self.build_and_install(setup_script, setup_base)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1028, in build_and_install
        self.run_setup(setup_script, setup_base, args)
      File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1016, in run_setup
        raise DistutilsError("Setup script exited with %s" % (v.args[0],))
    distutils.errors.DistutilsError: Setup script exited with error: [Errno 2] No such file or directory: 'webbpsf/_compiler.c'
    Complete output from command python setup.py egg_info:
    Searching for astropy

Reading https://pypi.python.org/simple/astropy/

Reading http://astropy.org

Best match: astropy 1.0

Downloading https://pypi.python.org/packages/source/a/astropy/astropy-1.0.tar.gz#md5=1f15b51eb7cbad3345a34770c87ef906

Processing astropy-1.0.tar.gz

Writing /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-3rxciS/astropy-1.0/setup.cfg

Running astropy-1.0/setup.py -q bdist_egg --dist-dir /var/folders/2t/m92rpkyn2ps064ffwv0qxrbm0001dr/T/easy_install-3rxciS/astropy-1.0/egg-dist-tmp-FL8U7K

Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/Users/jlong/.virtualenvs/test032/build/webbpsf/setup.py", line 122, in <module>

    **package_info

  File "/Users/jlong/homebrew/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup

    _setup_distribution = dist = klass(attrs)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 260, in __init__

    self.fetch_build_eggs(attrs.pop('setup_requires'))

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 285, in fetch_build_eggs

    replace_conflicting=True

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 631, in resolve

    dist = best[req.key] = env.best_match(req, ws, installer)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 871, in best_match

    return self.obtain(req, installer)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/pkg_resources.py", line 883, in obtain

    return installer(requirement)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/dist.py", line 335, in fetch_build_egg

    return cmd.easy_install(req)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 595, in easy_install

    return self.install_item(spec, dist.location, tmpdir, deps)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 625, in install_item

    dists = self.install_eggs(spec, download, tmpdir)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 822, in install_eggs

    return self.build_and_install(setup_script, setup_base)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1028, in build_and_install

    self.run_setup(setup_script, setup_base, args)

  File "/Users/jlong/.virtualenvs/test032/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1016, in run_setup

    raise DistutilsError("Setup script exited with %s" % (v.args[0],))

distutils.errors.DistutilsError: Setup script exited with error: [Errno 2] No such file or directory: 'webbpsf/_compiler.c'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /Users/jlong/.virtualenvs/test032/build/webbpsf
Storing debug log for failure in /Users/jlong/.pip/pip.log
@embray embray added the 💤 astropy-helpers PRs and issues related to astropy-helpers label Feb 23, 2015
@embray
Copy link
Member

embray commented Feb 23, 2015

Hmm, this is really a thing with astropy-helpers so I'll open a corresponding issue there. Do poppy and/or webbpsf use astropy-helpers? Otherwise this shouldn't happen (not that it should at all, but it especially shouldn't happen in those cases).

@embray
Copy link
Member

embray commented Feb 23, 2015

What happens if astropy is already installed first?

@embray
Copy link
Member

embray commented Feb 23, 2015

Also do you have astropy-helpers installed in your environment? If so, make sure to uninstall it first, what ever else you do.

@embray
Copy link
Member

embray commented Feb 23, 2015

If I install the latest astropy-helpers, then install poppy into an environment that doesn't have astropy, then I get

distutils.errors.DistutilsError: Setup script exited with error: package directory 'poppy' does not exist

which is slightly different, but similar problem. Obviously this shouldn't happen. It doesn't seem to be an issue at all if I uninstall astropy-helpers first.

@embray
Copy link
Member

embray commented Feb 23, 2015

Oh that's weird. Actually I uninstalled astropy-helpers and then I got the same exception you reported. But there weren't any issues at all before I installed astropy-helpers. And yet after installing and and subsequently uninstalling it it started this...

@embray
Copy link
Member

embray commented Feb 23, 2015

I'm also getting

    WARNING: The autogenerated wrappers in astropy._erfa seem to be older than the source templates used to create them. Because this is a release version we will use them anyway, but this might be a sign of some sort of version mismatch or other tampering. Or it might just mean you moved some files around or otherwise accidentally changed timestamps.

this is unrelated but a bit odd. It might be that when the source file are unpacked it isn't preserving the timestamps, and unpacking them in such an order. I think that warning should just be squelched entirely.

@josePhoenix
Copy link
Contributor Author

Starting from a fresh Python 2.7 virtualenv, I install numpy with pip install numpy (to avoid numpy/numpy#2434). Then I do pip install poppy to get the error described.

Not much installed:

$ pip freeze
numpy==1.9.1
wsgiref==0.1.2

I made sure to cd to my home directory before trying to install.. since where I was running it before (~/dev/webbpsf) had astropy_helpers in that folder (and might have been imported at some point in the build process). Didn't seem to make a difference.

@embray
Copy link
Member

embray commented Feb 23, 2015

What if astropy is manually installed first too?

@josePhoenix
Copy link
Contributor Author

That works. If I do pip install numpy && pip install astropy && pip install poppy it pulls in scipy, matplotlib, etc, automatically.

@embray
Copy link
Member

embray commented Feb 23, 2015

I think this might have something to do with the new astropy-helpers command hooks interfering with the build of other packages even if they don't use astropy-helpers. Or maybe even something more generally when multiple packages are using astropy-helpers during the same install session and from within the same process. There may be some globals that don't get reset.

@embray
Copy link
Member

embray commented Feb 23, 2015

I think I can reproduce this now, but it's weird that it was working for a bit.

@embray
Copy link
Member

embray commented Feb 24, 2015

I think I know what's probably happening here, in particular. I don't think it has anything specifically to do with the command-hooks, at least.

It seems that poppy has astropy listed in setup_requires, which is fine. And it's also using astropy_helpers, albeit a previous version. Depending on the exact order in which things happen, if the astropy_helpers shipped with poppy first gets loaded that gets used first. However, when the install of poppy then tries to get astropy, astropy's install runs (via easy_install, since pip doesn't properly handle ordering for setup_requires yet), and when it runs it sees that astropy_helpers is already available on the path, rather then use the newer version of astropy_helpers shipped with astropy it goes on using the old one used by poppy.

Furthermore, the old one already has some global variables set in it that are associated with poppy, resulting in further havoc (though it might break later for other reasons as well).

I think I can make a workaround to this and make a patch release of astropy-helpers that will address it without requiring any changes in any other packages affected by this issue, since the astropy-helpers auto-upgrade is working fine in this case. It needs to allow for multiple different versions of astropy-helpers to be swapped in and out when installing multiple packages within the same Python session. I think that the sandboxing already provided by setuptools.sandbox.run_setup should make this doable without too much hassle.

@josePhoenix
Copy link
Contributor Author

Wow, that's pretty arcane. I'm glad you figured it out! We'll have to update astropy_helpers for POPPY and WebbPSF in our next point releases. Can you comment here or send me an email when that feature lands?

@embray
Copy link
Member

embray commented Feb 24, 2015

Yeah it would be worth updating anyways. I believe there was a package-template update that coincided with the astropy 1.0 release. But in principle it shouldn't be necessary to switch to it (otherwise we of course would have given people more time!) In the meantime the simplest workaround is to install astropy first.

When the patch to astropy-helpers lands it should just work.

@embray embray added the Bug label Feb 24, 2015
@josePhoenix
Copy link
Contributor Author

Is there a low-traffic announcement list for astropy helpers and package template changes? It seems like I just updated those recently, but evidently not recently enough.

@embray
Copy link
Member

embray commented Feb 24, 2015

@josePhoenix That sounds like a good idea. My preference would be to have an all encompassing list that includes updates to affiliated packages and Astropy itself. But what do you think? Either way I think there should definitely be a better channel for that.

@josePhoenix
Copy link
Contributor Author

That would be fine too. If there were an announce-only list that's ≤1 email/week of things of interest to affiliated package maintainers, I'd read it. (Minor wrinkle: ST's new mail filtering system means we can't participate in Google Groups under our work emails. Bah.)

@embray
Copy link
Member

embray commented Feb 24, 2015

Didn't quite get a chance to fix this today.

@embray
Copy link
Member

embray commented Feb 26, 2015

@josePhoenix I think under the present circumstances there is a chicken/egg problem that makes it almost impossible to fix this entirely, at least not without egregious monkeying around. Would it be possible to just put out patch releases for webbpsf and poppy that include an upgraded astropy-helpers?

With the changes I have been able to make this won't be a problem in the future. But in the meantime it's really hard since it needs a package to be able to replace itself with a newer version of the package. Except only the newer version of the package knows how to actually do that :/

Alternatively (or additionally) I can make a patch release of Astropy that is able to handle this.

@embray
Copy link
Member

embray commented Feb 26, 2015

I guess the immediate course of action depends on what's higher priority.

@josePhoenix
Copy link
Contributor Author

Ideally, Astropy helpers would function in such a way that it doesn't have to make any assumptions about what other packages are doing. We can certainly put out a bugfix release of POPPY and WebbPSF (cc @cslocum, but this probably doesn't affect the stable Ureka release timeline?). It sounds like a bugfix release of Astropy is in order as well?

@embray
Copy link
Member

embray commented Feb 26, 2015

That would be fine except when two different packages are depending on two different versions of astropy-helpers that need to be used simultaneously in the same Python process because the installer for one of those packages is trying to also bootstrap the other package :) This is a problem far beyond just astropy-helpers.

@embray
Copy link
Member

embray commented Feb 27, 2015

To clarify, also, if I release a new patch release of Astropy the issue will be essentially resolved, as neither WebbPSF or POPPY seem to be pinning their setup_requires to any particular version of Astropy, if I release a new one with the fix then that's the version they'll grab except under very unusual conditions that wouldn't affect an "average" user anyways.

@embray
Copy link
Member

embray commented Feb 27, 2015

Didn't really intend to close this, since it won't really be fixed until the new releases are made.

@embray embray reopened this Feb 27, 2015
@embray embray added this to the v1.0.1 milestone Feb 27, 2015
@embray
Copy link
Member

embray commented Mar 6, 2015

Confirmed that this is now fixed with the just released Astropy v1.0.1. @josePhoenix, could you confirm that it works for you?

@embray
Copy link
Member

embray commented Mar 6, 2015

(I do seem to be having some problems running pip install webbpsf is Numpy also isn't installed first, but at that state I don't think it has anything to do with astropy).

@josePhoenix
Copy link
Contributor Author

If I pre-install NumPy, the issue is fixed with no additional changes in POPPY. We'll put out patch releases to POPPY and WebbPSF requiring astropy>=1.0.1.

As far as the second issue, being unable to pre-install NumPy, it does indeed seem to be something to do with astropy. If I remove all the setup-related astropy_helpers code from POPPY, it successfully installs both numpy and astropy without any additional monkeying around. See https://github.com/josephoenix/poppy/tree/remove_helpers for that version.

That is, at least, a separate issue. I could open an issue on the package template or helpers, whichever you think is more appropriate.

@embray
Copy link
Member

embray commented Mar 9, 2015

Perhaps, though I can't think of any reason it would interfere with Numpy installation. Numpy does some pretty wild stuff in its setup too though.

@embray embray closed this as completed Mar 9, 2015
@embray
Copy link
Member

embray commented Mar 9, 2015

I've traced the problems with Numpy to this: https://github.com/numpy/numpy/blob/master/numpy/distutils/core.py#L92

There's several levels of wrong with this, not all of which are Numpy's fault. A lot of it goes to the heart of the badness of distutils. Should be interesting to see if I can come up with a workaround...

@embray
Copy link
Member

embray commented Mar 9, 2015

See here for an explanation I left on how/why this is affecting Numpy. I believe this may actually be fixed if using the latest version of setuptools, but I need to confirm this...

@embray
Copy link
Member

embray commented Mar 9, 2015

Confirmed--the issue with Numpy should be worked around if you have setuptools >= 10.0 (although in practice >= 11.0 since astropy_helpers is broken with setuptools 10.x, as reported in #3576).

astrofrog pushed a commit to astrofrog/astropy that referenced this issue Jun 12, 2019
… installs another package that uses astropy-helpers the second package's astropy-helpers can override the first if they are different/incompatible versions. This should address astropy#3541.  In order for this to work there will have be patch releases for both the 0.4.x and 1.0.x versions.  Then, through use of the auto-upgrade process, this should all work.  Without auto-upgrade, of course, it will still break under the old versions of astropy-helpers.  No way around that.  Fortunately, most of the time the only context where auto-upgrade is disabled is for OS package builds, where build requirements will already be installed anyways (and hence no packages installing other packages).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug 💤 astropy-helpers PRs and issues related to astropy-helpers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants