-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
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
pip install panadas fails on numpy version #20697
Comments
I'm having a similar error but only on Python 3.4 on Travis CI (Linux environment). Travis job is here: https://travis-ci.org/pytroll/satpy/jobs/366591944 Error is:
This is with pip 10.0 installed. If I need to file another bug I can, this just looked similar. |
Looks like other python versions have a wheel, python 3.4 environment is building from source. So must be a bug with pip 10.0 and it's new "build from source" functionality? |
3.4 is no longer supoorted |
@jreback The issue seems to be related to pip 10.0 for me. With pip 9.0.3 it seems to download pandas 0.22 (via xarray dependency of >0.18.0). I guess my question on the pandas side is shouldn't there be something in the pandas package metadata to limit the python version so 0.22 isn't downloaded on Python 3.4? Edit: Something like this: https://packaging.python.org/guides/dropping-older-python-versions/ |
3.4 is simply not supported and 0.22 was release quite a while ago |
Understood. However, pandas 0.22 is still downloaded on Python 3.4 environments. Shouldn't pandas (even if only in the future) add something to limit what versions of python it is downloaded for? Like the I will file a bug with pip about the specific error message I was getting. |
v0.22.0 latest release is December 29, 2017 from pandas, so not that old -- why 3.4 is not supported? |
i suppose in an ideal world we would put a python_requires - so would take a patch for that |
we support 3.5+ the world has moved on from 3.4 |
ok so Also "the world has moved on from 3.4", maybe in your world because you forced it. Not everyone can afford to upgrade python versions. That said, I agree and wouldn't support 3.4 either if I had a feature that was more difficult to code on 3.4. |
actually we dropped 3.4 in october of last year: http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#dependencies-have-increased-minimum-versions
yes
that's quite disingenuous. supporting older versions takes time & effort, not to mention the additional code complexity. None of the contributors are paid for anything, nor are the thousands of companies that use panda contributing. If you can't / won't upgrade, then you will miss out. open source is not FREE. you have to have contributors. If someone want to support 3.4 that would be great. Just wait for 0.23.0 (soon) when we are announcing dropping 2.7 support at the end of the year. Can't wait for the howls from that! |
I wouldn't say disingenuous, just not experienced in complex features that actually required dropping python 3.4 in my own projects (except for maybe some pickle serialization...). Pull request incoming... Edit: About volunteering, as the person who semi-recently became the maintainer of vispy, I get it. I seem to have the tendency of becoming the maintainer of projects that no one else has time for. |
@davidh-ssec thanks for helping out! to be honest it only hurts the community for projects to keep supporting older versions. I think that is changing a bit with the Jupyter team and matplotlib (and django) and others moving to PY3 only. Pandas will be doing the same. |
This issue affected me in the following scenario:
Of course, this would also affect end-users trying to pip install with pip 10.0. Here is a solution for a package maintainer. In setup.py:
This seems pretty hacky but it works. |
@micahjsmith I'm in the same situation (no tox, just Maybe it would be possible for a maintenance/patch release of pandas 0.22 to include that PR if it fixes things? |
@davidh-ssec I'm not sure I fully understand this aspect of packaging, but from the reference you link to it seems like the keyword has to be first added and then removed before it has any effect. This seems to imply that a 0.20.1 patch would also be needed that introduces python_requires on a version compatible with py34 before it is then removed in (ideally 0.21.1 or) your PR. |
@micahjsmith That is not how I understood it the first time I read it, but looking at it again I think you're right. There would have to be a new release of the oldest version that supported python 3.4. https://packaging.python.org/guides/dropping-older-python-versions/#dropping-a-python-release I think I read somewhere else that |
Hi guys I have the same error
|
I just wanted to share my workaround for my use case: I use tox to test a package supporting python 3.4 to 3.6 and depending on pandas. In the file
to
Such that Got the idea from: https://stackoverflow.com/questions/29222269/is-there-a-way-to-have-a-conditional-requirements-txt-file-for-my-python-applica/35614580#35614580 Hope it is useful to someone else. |
Pandas dropped Python 3.4 support with v0.21, and our Python 3.4 tests have recently begun failing when they attempt to install the newest version. Our Travis tests were installing all of the optional packages in a separate line; move those to their own requirements file so that we can control which version is intalled where. See also pandas-dev/pandas#20697 .
Pandas dropped Python 3.4 support with v0.21, and our Python 3.4 tests have recently begun failing when they attempt to install the newest version. Our Travis tests were installing all of the optional packages in a separate line; move those to their own requirements file so that we can control which version is intalled where. See also pandas-dev/pandas#20697 .
Similar error, in python 3.6
with |
@laxatives That doesn't look like python 3.6 to me. The wheel in your quoted text is for python 3.4 ( |
Pandas dropped Python 3.4 support with v0.21, and our Python 3.4 tests have recently begun failing when they attempt to install the newest version. Our Travis tests were installing all of the optional packages in a separate line; move those to the dev-requirements file so that we can control which version is installed where. See also pandas-dev/pandas#20697 .
@jreback I've no problem with you not supporting old versions but please understand that "the world has moved on from 3.4" is not true and not constructive for those who don't have the skills or time to overcome the limitations of the system(s) they have to work with. |
Hint for the workaround of installing Python 3.6 in /home (in the case of openSUSE Leap 42.3): Create symlink to $prefix/lib64/python3.6/lib-dynload/ in $prefix/lib/python3.6/. No need then for setting PYTHONPATH and PYTHONHOME which (or one of which) conflicts with virtualenv. |
Hi, I'm on python 3.5.2, and getting the exact same problem.
Is there a workaround? Can I make pandas suspend the ==1.9.3 requirement and live with later versions? |
@answerquest What version of pip do you have? Try updating that first and see if you still have a problem. Also what operating system? This may be an issue only with the source tarball installations of pandas (*.tar.gz from PyPI) which is seems your pip is trying to install. Either your OS isn't supported or you are specifically asking for a no binary installation. |
@davidh-ssec I'm on Lubuntu 16.04 32-bit and am in a python3 virtual env. Python is 3.5.2. This might be specific to 32-bit folks. I found in https://pypi.org/project/pandas/#files there's no 32-bit option available for python 3.5, so pip had to build from source I guess. Anyways, I downgraded pip back to 9.0.3 and now it worked (like it had a month ago). It seems like
I ran a grep for
Maybe pip 9.0.3 ignored this while pip 10.x is taking it seriously? I'm not sure where it got the |
@answerquest This may have been fixed in pip 10.0.1 I think. I saw something in their release notes about it accidentally ignoring the I agree that your 32-bit system is the "problem" since there is no wheel for your system, it builds from source which is where pip/pandas has an issue. |
@answerquest See #20775 for general notes on this problem.
Yes, only from pip 10 it uses the pyproject.toml file. But those requirements are not for the environment you are installing it in (so there you can still have a newer numpy), it is only for the separate build environment it tries to create to build pandas.
Possibly the reading of the version specification is fixed, but then you would still run into the same problem that there are no wheels for numpy for 32bit, and then pip will still fail on that. |
See pypa/pip#5228, pypa/pip#5230 and pandas-dev/pandas#20697. But in the end, it was http://pandas.pydata.org/pandas-docs/stable/install.html: Python version support Officially Python 2.7, 3.5, and 3.6.
for python3.4 u can use below option works fine with the older version of pandas pip install pandas==0.19.0 |
you just need to update python version. You can update using "pip install python --upgrade" or "pip install python -U". |
Code Sample, a copy-pastable example if possible
Problem description
I was unable to upgrade pandas (same error as above). I don't think I have ever had numpy 1.9.3 installed. Since there was a numpy directory under the current pandas directory I did an uninstall "pip uninstall pandas" to attempt to reinstall.
Output of
pip freeze
pip version 10.0.0
python -c "import numpy; print(numpy.version.version)"
1.14.2
The text was updated successfully, but these errors were encountered: