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

Comments

Projects
None yet
@NickDMax
Copy link

NickDMax commented Apr 14, 2018

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor

jreback commented Apr 14, 2018

3.4 is no longer supoorted

@djhoese

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor

jreback commented Apr 14, 2018

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

@djhoese

This comment has been minimized.

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

This comment has been minimized.

Copy link

sandeepdas commented Apr 14, 2018

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

@jreback

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor

jreback commented Apr 14, 2018

we support 3.5+ the world has moved on from 3.4

@djhoese

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link

micahjsmith commented Apr 15, 2018

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

This comment has been minimized.

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 label Apr 15, 2018

@jreback jreback added this to the 0.23.0 milestone Apr 15, 2018

@micahjsmith

This comment has been minimized.

Copy link

micahjsmith commented Apr 16, 2018

@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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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 added a commit to stephen-hoover/civis-python that referenced this issue Apr 16, 2018

BUG In Travis, restrict pandas version downloaded
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 added a commit to stephen-hoover/civis-python that referenced this issue Apr 16, 2018

BUG In Travis, restrict pandas version downloaded
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

This comment has been minimized.

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

This comment has been minimized.

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 added a commit to civisanalytics/civis-python that referenced this issue Apr 17, 2018

BUG In Travis, restrict pandas version downloaded (#249)
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

This comment has been minimized.

Copy link
Contributor

jowagner commented Apr 19, 2018

@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

This comment has been minimized.

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

This comment has been minimized.

Copy link

answerquest commented Apr 25, 2018

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

This comment has been minimized.

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

This comment has been minimized.

Copy link

answerquest commented Apr 25, 2018

@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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

jorisvandenbossche commented Apr 25, 2018

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

casperdcl added a commit to tqdm/tqdm that referenced this issue Apr 25, 2018

mineo added a commit to mineo/mpd_pydb that referenced this issue May 5, 2018

Drop support for Python 3.4
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.

c-mertes added a commit to c-mertes/autoCorrection that referenced this issue May 8, 2018

@rupav

This comment has been minimized.

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

This comment has been minimized.

Copy link

Pspfriends commented Jun 27, 2018

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

pip install pandas==0.19.0

@Ashish05178

This comment has been minimized.

Copy link

Ashish05178 commented Jul 8, 2018

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