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

pip install panadas fails on numpy version #20697

Closed
NickDMax opened this issue Apr 14, 2018 · 31 comments · Fixed by #20698
Closed

pip install panadas fails on numpy version #20697

NickDMax opened this issue Apr 14, 2018 · 31 comments · Fixed by #20698
Labels
Build Library building on various platforms
Milestone

Comments

@NickDMax
Copy link

Code Sample, a copy-pastable example if possible

C:\Users\nickdmax
λ pip install pandas
Collecting pandas
  Downloading https://files.pythonhosted.org/packages/08/01/803834bc8a4e708aedebb133095a88a4dad9f45bbaf5ad777d2bea543c7e/pandas-0.22.0.tar.gz (11.3MB)
    100% |################################| 11.3MB 315kB/s
  Could not find a version that satisfies the requirement numpy==1.9.3 (from versions: 1.10.4, 1.11.0, 1.11.1rc1, 1.11.1, 1.11.2rc1, 1.11.2, 1.11.3, 1.12.0b1, 1.12.0rc1, 1.12.0rc2, 1.12.0, 1.12.1rc1, 1.12.1, 1.13.0rc1, 1.13.0rc2, 1.13.0, 1.13.1, 1.13.3, 1.14.0rc1, 1.14.0, 1.14.1, 1.14.2)
No matching distribution found for numpy==1.9.3

C:\Users\nickdmax
λ pip list
...
numpy               1.14.2
...

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

vattrs==17.2.0 Automat==0.6.0 backcall==0.1.0 backports-abc==0.5 bleach==2.1.3 certifi==2017.4.17 chardet==3.0.4 colorama==0.3.9 constantly==15.1.0 cssselect==1.0.1 cycler==0.10.0 decorator==4.2.1 entrypoints==0.2.3 html5lib==1.0.1 hyperlink==17.3.0 idna==2.5 incremental==17.5.0 ipykernel==4.8.2 ipython==6.3.1 ipython-genutils==0.2.0 ipywidgets==7.2.1 jedi==0.11.1 Jinja2==2.10 jsonschema==2.6.0 jupyter==1.0.0 jupyter-client==5.2.3 jupyter-console==5.2.0 jupyter-core==4.4.0 kiwisolver==1.0.1 MarkupSafe==1.0 matplotlib==2.2.2 mistune==0.8.3 nbconvert==5.3.1 nbformat==4.4.0 notebook==5.0.0 numpy==1.14.2 pandocfilters==1.4.2 parso==0.1.1 pickleshare==0.7.4 prompt-toolkit==1.0.15 PyDispatcher==2.0.5 Pygments==2.2.0 PyParse==1.1.7 pyparsing==2.2.0 python-dateutil==2.7.2 pytz==2018.4 pywinpty==0.5.1 pyzmq==17.0.0 qtconsole==4.3.1 requests==2.18.2 Rx==1.5.9 scipy==0.19.1 simplegeneric==0.8.1 six==1.11.0 testpath==0.3.1 tornado==5.0.2 traitlets==4.3.2 typing==3.6.4 urllib3==1.22 virtualenv==15.1.0 w3lib==1.17.0 wcwidth==0.1.7 webencodings==0.5.1 widgetsnbextension==3.2.1 win-unicode-console==0.5 zope.interface==4.4.2

pip version 10.0.0

python -c "import numpy; print(numpy.version.version)"
1.14.2

@djhoese
Copy link
Contributor

djhoese commented Apr 14, 2018

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:

Collecting pandas>=0.18.0 (from xarray>=0.10.1->satpy==0.9.0a0)
  Downloading https://files.pythonhosted.org/packages/08/01/803834bc8a4e708aedebb133095a88a4dad9f45bbaf5ad777d2bea543c7e/pandas-0.22.0.tar.gz (11.3MB)
    100% |████████████████████████████████| 11.3MB 3.1MB/s 
  Installing build dependencies ... error
  Complete output from command /home/travis/virtualenv/python3.4.6/bin/python -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-7kx4zl4m https://files.pythonhosted.org/packages/1b/d2/22cde5ea9af055f81814f9f2545f5ed8a053eb749c08d186b369959189a8/wheel-0.31.0-py2.py3-none-any.whl#sha256=9cdc8ab2cc9c3c2e2727a4b67c22881dbb0e1c503d592992594c5e131c867107 https://files.pythonhosted.org/packages/20/d7/04a0b689d3035143e2ff288f4b9ee4bf6ed80585cc121c90bfd85a1a8c2e/setuptools-39.0.1-py2.py3-none-any.whl#sha256=8010754433e3211b9cdbbf784b50f30e80bf40fc6b05eb5f865fab83300599b8 https://files.pythonhosted.org/packages/70/25/1e1521e6ce2cf78ff4a8b06fbc2cd513ce004ec337000eddfe016fdf3fc6/Cython-0.28.2-cp34-cp34m-manylinux1_x86_64.whl#sha256=85f7432776870d65639fed00f951a3c05ef1e534bc72a73cd1200d79b9a7d7d0 https://files.pythonhosted.org/packages/fc/1b/a1717502572587c724858862fd9b98a66105f3a3443225bda9a1bd16ee14/numpy-1.9.3-cp34-cp34m-manylinux1_x86_64.whl#sha256=bff36563f9d6a06a81ae232f49d2946c84c05e391a7dff057496033c79507860 https://files.pythonhosted.org/packages/02/64/c6c1c24ff4dbcd789fcfdb782e343ac23c074f6b8b03e818ff60eb0f937f/numpy-1.12.1-cp34-cp34m-manylinux1_x86_64.whl#sha256=4eac5f2f624c5e7eecbdb51395ff39a099c48cab607a158f16f288c6fe39a2b3 https://files.pythonhosted.org/packages/1b/ee/f65826b2880f67652c21326565b4c166c7cdb1019f84b82af65e625475cd/numpy-1.13.1-cp34-cp34m-manylinux1_x86_64.whl#sha256=838e48df3703c8747f355cd6386e0680b906a2f7b2bbd304e8a2d531692484ce:
  Double requirement given: numpy==1.12.1 from https://files.pythonhosted.org/packages/02/64/c6c1c24ff4dbcd789fcfdb782e343ac23c074f6b8b03e818ff60eb0f937f/numpy-1.12.1-cp34-cp34m-manylinux1_x86_64.whl#sha256=4eac5f2f624c5e7eecbdb51395ff39a099c48cab607a158f16f288c6fe39a2b3 (already in numpy==1.9.3 from https://files.pythonhosted.org/packages/fc/1b/a1717502572587c724858862fd9b98a66105f3a3443225bda9a1bd16ee14/numpy-1.9.3-cp34-cp34m-manylinux1_x86_64.whl#sha256=bff36563f9d6a06a81ae232f49d2946c84c05e391a7dff057496033c79507860, name='numpy')
  
  ----------------------------------------
Command "/home/travis/virtualenv/python3.4.6/bin/python -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-7kx4zl4m https://files.pythonhosted.org/packages/1b/d2/22cde5ea9af055f81814f9f2545f5ed8a053eb749c08d186b369959189a8/wheel-0.31.0-py2.py3-none-any.whl#sha256=9cdc8ab2cc9c3c2e2727a4b67c22881dbb0e1c503d592992594c5e131c867107 https://files.pythonhosted.org/packages/20/d7/04a0b689d3035143e2ff288f4b9ee4bf6ed80585cc121c90bfd85a1a8c2e/setuptools-39.0.1-py2.py3-none-any.whl#sha256=8010754433e3211b9cdbbf784b50f30e80bf40fc6b05eb5f865fab83300599b8 https://files.pythonhosted.org/packages/70/25/1e1521e6ce2cf78ff4a8b06fbc2cd513ce004ec337000eddfe016fdf3fc6/Cython-0.28.2-cp34-cp34m-manylinux1_x86_64.whl#sha256=85f7432776870d65639fed00f951a3c05ef1e534bc72a73cd1200d79b9a7d7d0 https://files.pythonhosted.org/packages/fc/1b/a1717502572587c724858862fd9b98a66105f3a3443225bda9a1bd16ee14/numpy-1.9.3-cp34-cp34m-manylinux1_x86_64.whl#sha256=bff36563f9d6a06a81ae232f49d2946c84c05e391a7dff057496033c79507860 https://files.pythonhosted.org/packages/02/64/c6c1c24ff4dbcd789fcfdb782e343ac23c074f6b8b03e818ff60eb0f937f/numpy-1.12.1-cp34-cp34m-manylinux1_x86_64.whl#sha256=4eac5f2f624c5e7eecbdb51395ff39a099c48cab607a158f16f288c6fe39a2b3 https://files.pythonhosted.org/packages/1b/ee/f65826b2880f67652c21326565b4c166c7cdb1019f84b82af65e625475cd/numpy-1.13.1-cp34-cp34m-manylinux1_x86_64.whl#sha256=838e48df3703c8747f355cd6386e0680b906a2f7b2bbd304e8a2d531692484ce" failed with error code 1 in None

This is with pip 10.0 installed. If I need to file another bug I can, this just looked similar.

@djhoese
Copy link
Contributor

djhoese commented Apr 14, 2018

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?

@jreback
Copy link
Contributor

jreback commented Apr 14, 2018

3.4 is no longer supoorted

@djhoese
Copy link
Contributor

djhoese commented Apr 14, 2018

@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/

@jreback
Copy link
Contributor

jreback commented Apr 14, 2018

3.4 is simply not supported and 0.22 was release quite a while ago

@djhoese
Copy link
Contributor

djhoese commented Apr 14, 2018

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 python_requires argument mentioned in my link above? I've never had to worry about this before so I'm not sure what is standard practice for limiting python and package versions like this.

I will file a bug with pip about the specific error message I was getting.

@sandeepdas
Copy link

v0.22.0 latest release is December 29, 2017 from pandas, so not that old -- why 3.4 is not supported?

@jreback
Copy link
Contributor

jreback commented Apr 14, 2018

i suppose in an ideal world we would put a python_requires - so would take a patch for that

@jreback
Copy link
Contributor

jreback commented Apr 14, 2018

we support 3.5+ the world has moved on from 3.4

@djhoese
Copy link
Contributor

djhoese commented Apr 14, 2018

ok so Officially Python 2.7, 3.5, and 3.6. is still true?

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.

@jreback
Copy link
Contributor

jreback commented Apr 14, 2018

actually we dropped 3.4 in october of last year: http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#dependencies-have-increased-minimum-versions

ok so Officially Python 2.7, 3.5, and 3.6. is still true?

yes

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.

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!

@djhoese
Copy link
Contributor

djhoese commented Apr 14, 2018

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.

@jreback
Copy link
Contributor

jreback commented Apr 15, 2018

@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.

@micahjsmith
Copy link
Contributor

This issue affected me in the following scenario:

  • I maintain a package that supports python 3.4
  • I test on travis for python including 3.4
  • I use tox, which creates virtual environments with the most up-to-date pip (now 10.0)
  • pip 10 fails to install pandas>=0.21

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:

# ... inside setup(.)
install_requires = [
    # ... some packages
    'pandas;python_version>="3.5"',
    'pandas<0.21;python_version<"3.5"',
    # ...
],

This seems pretty hacky but it works.

@djhoese
Copy link
Contributor

djhoese commented Apr 15, 2018

@micahjsmith I'm in the same situation (no tox, just pip install -U pip). I've made the pip issue here pypa/pip#5228. My python_requires PR is also linked above.

Maybe it would be possible for a maintenance/patch release of pandas 0.22 to include that PR if it fixes things?

@jreback jreback added the Build Library building on various platforms label Apr 15, 2018
@jreback jreback added this to the 0.23.0 milestone Apr 15, 2018
@micahjsmith
Copy link
Contributor

@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.

@djhoese
Copy link
Contributor

djhoese commented Apr 16, 2018

@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 pip would consider releases without the python_requires metadata if it didn't find a match, but I could be wrong.

@sskadit
Copy link

sskadit commented Apr 16, 2018

Hi guys I have the same error
Python version is 3.4
Pip version 10.0.0

(src) sskadits-MacBook-Pro-2:src sskadit$ pip install pandas
Collecting pandas
  Using cached pandas-0.22.0.tar.gz
  Installing build dependencies ... error
  Complete output from command /Users/sskadit/Desktop/Logistic/ipynb/src/bin/python3 -m pip install --ignore-installed --no-user --prefix /private/var/folders/fy/33zmr98n1n18z332kjwjlbpr0000gn/T/pip-build-env-hvhrveem https://pypi.python.org/packages/1b/d2/22cde5ea9af055f81814f9f2545f5ed8a053eb749c08d186b369959189a8/wheel-0.31.0-py2.py3-none-any.whl#md5=240d714477a715bcd90e94cb2c44f28c https://pypi.python.org/packages/20/d7/04a0b689d3035143e2ff288f4b9ee4bf6ed80585cc121c90bfd85a1a8c2e/setuptools-39.0.1-py2.py3-none-any.whl#md5=ca299c7acd13a72e1171a3697f2b99bc https://pypi.python.org/packages/86/c8/63bfee0424a087732a3e860fe6f07596a15cab32d0b8227f70ba49b60cec/Cython-0.28.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=40d9a1c1858680d354ed62d0d713e95a https://pypi.python.org/packages/9b/c3/12ddc43ba2e8c72c03dbab3bcf757c60571fb48ea991bfa522314d3b5aab/numpy-1.9.3-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=16a35a1c687cdfb9a5dbdf982bfc10fc https://pypi.python.org/packages/69/e1/c8b40d1c9e1130996881ad3d42ecec7b31e24307a48c3b23c69ab9a0cafb/numpy-1.12.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=2d89d21806408befdc20b5c9e8bfd354 https://pypi.python.org/packages/b4/20/e5bc57a8df0cb98a800cead0b8c9538f795706fa51c65e05ee4906f693af/numpy-1.13.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=3eee3605dd61f02583264eb5697d8207:
  Double requirement given: numpy==1.12.1 from https://pypi.python.org/packages/69/e1/c8b40d1c9e1130996881ad3d42ecec7b31e24307a48c3b23c69ab9a0cafb/numpy-1.12.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=2d89d21806408befdc20b5c9e8bfd354 (already in numpy==1.9.3 from https://pypi.python.org/packages/9b/c3/12ddc43ba2e8c72c03dbab3bcf757c60571fb48ea991bfa522314d3b5aab/numpy-1.9.3-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=16a35a1c687cdfb9a5dbdf982bfc10fc, name='numpy')
  
  ----------------------------------------
Command "/Users/sskadit/Desktop/Logistic/ipynb/src/bin/python3 -m pip install --ignore-installed --no-user --prefix /private/var/folders/fy/33zmr98n1n18z332kjwjlbpr0000gn/T/pip-build-env-hvhrveem https://pypi.python.org/packages/1b/d2/22cde5ea9af055f81814f9f2545f5ed8a053eb749c08d186b369959189a8/wheel-0.31.0-py2.py3-none-any.whl#md5=240d714477a715bcd90e94cb2c44f28c https://pypi.python.org/packages/20/d7/04a0b689d3035143e2ff288f4b9ee4bf6ed80585cc121c90bfd85a1a8c2e/setuptools-39.0.1-py2.py3-none-any.whl#md5=ca299c7acd13a72e1171a3697f2b99bc https://pypi.python.org/packages/86/c8/63bfee0424a087732a3e860fe6f07596a15cab32d0b8227f70ba49b60cec/Cython-0.28.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=40d9a1c1858680d354ed62d0d713e95a https://pypi.python.org/packages/9b/c3/12ddc43ba2e8c72c03dbab3bcf757c60571fb48ea991bfa522314d3b5aab/numpy-1.9.3-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=16a35a1c687cdfb9a5dbdf982bfc10fc https://pypi.python.org/packages/69/e1/c8b40d1c9e1130996881ad3d42ecec7b31e24307a48c3b23c69ab9a0cafb/numpy-1.12.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=2d89d21806408befdc20b5c9e8bfd354 https://pypi.python.org/packages/b4/20/e5bc57a8df0cb98a800cead0b8c9538f795706fa51c65e05ee4906f693af/numpy-1.13.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl#md5=3eee3605dd61f02583264eb5697d8207" failed with error code 1 in None
(src) sskadits-MacBook-Pro-2:src sskadit$ pip --version
pip 10.0.0 from /Users/sskadit/Desktop/Logistic/ipynb/src/lib/python3.4/site-packages/pip (python 3.4)

@zertrin
Copy link
Contributor

zertrin commented Apr 16, 2018

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 requirements.txt, I changed from:

pandas

to

pandas; python_version >= '3.5'
pandas<0.21; python_version == '3.4'

Such that pip install -r requirements.txt works for any version of python from 3.4 to 3.6. (assuming pip is not too old)

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.

stephen-hoover pushed a commit to stephen-hoover/civis-python that referenced this issue Apr 16, 2018
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 .
stephen-hoover pushed a commit to stephen-hoover/civis-python that referenced this issue Apr 16, 2018
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 .
@laxatives
Copy link

laxatives commented Apr 17, 2018

Similar error, in python 3.6

Double requirement given: numpy==1.12.1 from https://files.pythonhosted.org/packages/02/64/c6c1c24ff4dbcd789fcfdb782e343ac23c074f6b8b03e818ff60eb0f937f/numpy-1.12.1-cp34-cp34m-manylinux1_x86_64.whl#sha256=4eac5f2f624c5e7eecbdb51395ff39a099c48cab607a158f16f288c6fe39a2b3 (already in numpy==1.9.3 from https://files.pythonhosted.org/packages/fc/1b/a1717502572587c724858862fd9b98a66105f3a3443225bda9a1bd16ee14/numpy-1.9.3-cp34-cp34m-manylinux1_x86_64.whl#sha256=bff36563f9d6a06a81ae232f49d2946c84c05e391a7dff057496033c79507860, name='numpy')

with pip==9.0.3 and pandas==0.22.0

@djhoese
Copy link
Contributor

djhoese commented Apr 17, 2018

@laxatives That doesn't look like python 3.6 to me. The wheel in your quoted text is for python 3.4 (cp34).

stephen-hoover pushed a commit to civisanalytics/civis-python that referenced this issue Apr 17, 2018
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 .
@jowagner
Copy link
Contributor

@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.

@jowagner
Copy link
Contributor

jowagner commented Apr 19, 2018

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.

@answerquest
Copy link

Hi, I'm on python 3.5.2, and getting the exact same problem.
pip3 install pandas
Output:

Collecting pandas
  Using cached https://files.pythonhosted.org/packages/08/01/803834bc8a4e708aedebb133095a88a4dad9f45bbaf5ad777d2bea543c7e/pandas-0.22.0.tar.gz
  Could not find a version that satisfies the requirement numpy==1.9.3 (from versions: 1.11.1rc1, 1.11.1, 1.11.2rc1, 1.11.2, 1.11.3, 1.12.0b1, 1.12.0rc1, 1.12.0rc2, 1.12.0, 1.12.1rc1, 1.12.1, 1.13.0rc1, 1.13.0rc2, 1.13.0, 1.13.1, 1.13.3, 1.14.0rc1, 1.14.0, 1.14.1, 1.14.2)
No matching distribution found for numpy==1.9.3

Is there a workaround? Can I make pandas suspend the ==1.9.3 requirement and live with later versions?

@djhoese
Copy link
Contributor

djhoese commented Apr 25, 2018

@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.

@answerquest
Copy link

@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 pip9.0.3 believes pandas0.22.0 needs numpy>=1.9.0 while pip10.0.1 and pip10.0.0 believe pandas0.22.0 needs numpy==1.9.3 only. I'd say somebody forgot to put the > sign in.

pip3 install pip==9.0.3
(then)
pip3 install pandas
  Downloading https://file (...)
Successfully built pandas
Installing collected packages: six, python-dateutil, pytz, pandas
Successfully installed pandas-0.22.0 python-dateutil-2.7.2 pytz-2018.4 six-1.11.0

I ran a grep for numpy==1.9.3 in the unzipped pandas-0.22.0.tar.gz. Found it in this one file:
pandas-0.22.0/pyproject.toml

[build-system]
requires = [
    "wheel",
    "setuptools",
    "Cython",  # required for VCS build, optional for released source
    "numpy==1.9.3; python_version=='3.5'",
    "numpy==1.12.1; python_version=='3.6'",
    "numpy==1.13.1; python_version>='3.7'",
]

Maybe pip 9.0.3 ignored this while pip 10.x is taking it seriously? I'm not sure where it got the numpy>=1.9.0 because its nowhere in the pandas source. Anyways, I'd recommend to change pyproject.toml` to make it more amenable. Is giving a range possible? Like, >= x but <= y?

@djhoese
Copy link
Contributor

djhoese commented Apr 25, 2018

@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 python_version part of the requires. Not sure if that matters in this case.

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.

@jorisvandenbossche
Copy link
Member

@answerquest See #20775 for general notes on this problem.
Your problem is indeed that we don't provide wheels for 32 bit, and installing pandas from source with pip started failing with pip 10. As noted in #20775, you can do pip install pandas --no-build-isolation or keep pip at version < 10 as you did.

Maybe pip 9.0.3 ignored this while pip 10.x is taking it seriously?

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.

This may have been fixed in pip 10.0.1 I think

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.

@rupav
Copy link

rupav commented May 15, 2018

@zertrin and @djhoese thank you so much for your involvement in the thread.
@zertrin your conditional pandas installation worked for me on travis build 🎉.

@Pspfriends
Copy link

for python3.4 u can use below option works fine with the older version of pandas

pip install pandas==0.19.0

@Ashish05178
Copy link

you just need to update python version. You can update using "pip install python --upgrade" or "pip install python -U".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms
Projects
None yet
Development

Successfully merging a pull request may close this issue.