Skip to content

Add pyproject.toml #20775

Closed
Closed
@jorisvandenbossche

Description

@jorisvandenbossche
Member

Now that pip 19 is out, we can attempt to re-add pyproject.toml


The release of pip version 10 and the presence of a pyproject.toml in our latest released versions gives problems for installing pandas in the following cases:

Problem with installing pandas for Python 3.4

  • You get the error "Double requirement given: numpy ..."
  • The reason for this error is that pandas 0.21-0.22 no longer supports Python 3.4, and thus no longer distributes binary wheels for Python 3.4. Therefore, pip tries to install pandas from source, and this is what now started to fail with Pip version 10.
  • Solution:
  • The fact that those version are downloaded for Python 3.4 (instead of an older compatible version) was a bug in our setup.py, and this will be fixed in future versions of pandas: DEP: Add 'python_requires' to setup.py to drop 3.4 support #20698

Problem with installing pandas on "special" platforms (32bit, PyPy, ARM, ...) (building from source):

Activity

TomAugspurger

TomAugspurger commented on Apr 21, 2018

@TomAugspurger
Contributor

Do we know if there's any way to fix the 0.21.x and 0.22.x releases for python 3.4, or does this fall entirely on users? e.g. if we were to upload a 0.21.2 and 0.22.1 with just the python_requires fix, I assume pip install pandas would still pull down 0.22.0, right?

jorisvandenbossche

jorisvandenbossche commented on Apr 21, 2018

@jorisvandenbossche
MemberAuthor

Yes, I don't think we can fix it, because even if we would do a 0.22.1 with the correction, I suppose as well that pip will find the existing 0.22.0 as the next in line that it can install.

jreback

jreback commented on Apr 21, 2018

@jreback
Contributor

the way to fix this is to re-issue the existing wheels (with this one change) on 0.21 and 0.22. but that is 'banned' by PyPi. Its equivalent in conda of bumping the version number, but AFAIK no way to do this on PyPi.

so maybe ask on the pip tracker on what is possible?

maybe could just put an extra waring in the docs.

added
BuildLibrary building on various platforms
on Apr 21, 2018
added this to the 0.23.0 milestone on Apr 21, 2018
TomAugspurger

TomAugspurger commented on Apr 21, 2018

@TomAugspurger
Contributor
jorisvandenbossche

jorisvandenbossche commented on Apr 24, 2018

@jorisvandenbossche
MemberAuthor

so maybe ask on the pip tracker on what is possible?

Well, I already commented on some of the issues, and I suggested an option is for them to disable the new (partial) PEP518 support by default, but I don't have the impression that they will do that.

I don't think there is anything to do for 0.23 (I mainly opened this issue as a point-to issue with a summary of the situation, to point to in case other duplicate issues are opened).
I think the only thing we can do for 0.23.0 is to update documentation on how to use pip install pandas in case of 'special' platforms.

maximveksler

maximveksler commented on Apr 29, 2018

@maximveksler
Contributor

adding 2 cents:

I'm building pandas from source on Windows as part our development process, it started failing on dev machines and the work around was to add the --no-build-isolation.

From a pandas user perspective "something that worked before break now, without me changing anything".

So I don't think it's just an issue with the "special" platforms, it also applies to users of windows that are building the library from source.

TomAugspurger

TomAugspurger commented on Apr 29, 2018

@TomAugspurger
Contributor
jorisvandenbossche

jorisvandenbossche commented on Apr 29, 2018

@jorisvandenbossche
MemberAuthor

Yes, the reason I put "special platforms" is because there you automatically build from source with pip, while for "common" platforms the default is just installing from wheels.

From a pandas user perspective "something that worked before break now, without me changing anything".

You are completely right, but unfortunately, there is nothing we can do about it. We partly caused it by prematurely adding a pyproject.toml, but now it is only pip who can fix it.

28 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    BuildLibrary building on various platforms

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      Participants

      @maximveksler@jreback@jorisvandenbossche@TomAugspurger@UnitedMarsupials-zz

      Issue actions

        Add pyproject.toml · Issue #20775 · pandas-dev/pandas