pandas-dev / pandas

Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
https://pandas.pydata.org
BSD 3-Clause "New" or "Revised" License
43.43k stars 17.85k forks source link

Versions from 0.23.4 to 0.25.1 fail to install on Alpine Linux #28174

Closed vrumjantsev closed 5 years ago

vrumjantsev commented 5 years ago

Problem description

already have installed numpy==1.17.1

but installation of pandas > 0.23.4 fails with

ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-hmmx65yg/pandas/setup.py'"'"'; __file__='"'"'/tmp/pip-install-hmmx65yg/pandas/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: /tmp/pip-install-hmmx65yg/pandas/
    Complete output (18 lines):
    Traceback (most recent call last):
      File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 359, in get_provider
        module = sys.modules[moduleOrReq]
    KeyError: 'numpy'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-hmmx65yg/pandas/setup.py", line 732, in <module>
        ext_modules=maybe_cythonize(extensions, compiler_directives=directives),
      File "/tmp/pip-install-hmmx65yg/pandas/setup.py", line 475, in maybe_cythonize
        numpy_incl = pkg_resources.resource_filename('numpy', 'core/include')
      File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1144, in resource_filename
        return get_provider(package_or_requirement).get_resource_filename(
      File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 361, in get_provider
        __import__(moduleOrReq)
    ModuleNotFoundError: No module named 'numpy'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
TomAugspurger commented 5 years ago

How are you installing pandas and what's the full output?

vrumjantsev commented 5 years ago

pip install pandas==0.25.1

Collecting pandas==0.25.1 (from xxxx)
  Downloading https://files.pythonhosted.org/packages/07/cf/1b6917426a9a16fd79d56385d0d907f344188558337d6b81196792f857e9/pandas-0.25.1.tar.gz (12.6MB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-hlpynj1e/pandas/setup.py'"'"'; __file__='"'"'/tmp/pip-install-hlpynj1e/pandas/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: /tmp/pip-install-hlpynj1e/pandas/
    Complete output (18 lines):
    Traceback (most recent call last):
      File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 359, in get_provider
        module = sys.modules[moduleOrReq]
    KeyError: 'numpy'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-hlpynj1e/pandas/setup.py", line 813, in <module>
        ext_modules=maybe_cythonize(extensions, compiler_directives=directives),
      File "/tmp/pip-install-hlpynj1e/pandas/setup.py", line 535, in maybe_cythonize
        numpy_incl = pkg_resources.resource_filename("numpy", "core/include")
      File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1144, in resource_filename
        return get_provider(package_or_requirement).get_resource_filename(
      File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 361, in get_provider
        __import__(moduleOrReq)
    ModuleNotFoundError: No module named 'numpy'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WillAyd commented 5 years ago

I think this is a duplicate of #22668 so closing; let's migrate any required conversation to that existing issue

TomAugspurger commented 5 years ago

This may be different from https://github.com/pandas-dev/pandas/issues/22668 (though fixing that would solve this). You should be able to install from source on alpine, you just need to ensure you have a build environment ready (compilers, Cython and numpy).

@vrumjantsev what version of pip and what's the output of pip list before installing pandas?

vrumjantsev commented 5 years ago

@TomAugspurger pip 19.2.3

Package                 Version  
----------------------- ---------
alembic                 1.1.0    
amqp                    2.5.1    
analytics-python        1.2.9    
apispec                 0.17.1   
appdirs                 1.4.3    
arrow                   0.14.5   
asn1crypto              0.24.0   
atomicwrites            1.3.0    
attrs                   19.1.0   
Babel                   2.7.0    
bcrypt                  3.1.7    
billiard                3.6.1.0  
cached-property         1.5.1    
celery                  4.3.0    
celery-redbeat          0.13.0   
certifi                 2019.6.16
cffi                    1.12.3   
chardet                 3.0.4    
Click                   7.0      
colorlog                4.0.2    
coreapi                 2.3.3    
coreschema              0.0.4    
coverage                4.5.4    
cryptography            2.7      
dataclasses             0.6      
defusedxml              0.6.0    
delegator.py            0.1.1    
dicttoxml               1.7.4    
dj-static               0.0.6    
Django                  2.2.4    
django-cacheops         4.1      
django-cors-headers     3.1.0    
django-filter           2.2.0    
django-localflavor      2.2      
django-redis            4.10.0   
djangorestframework     3.9.4    
djangorestframework-csv 2.1.0    
drf-yasg                1.7.4    
factory-boy             2.12.0   
Faker                   2.0.1    
fakeredis               1.0.4    
funcy                   1.13     
future                  0.17.1   
gunicorn                19.9.0   
hashids                 1.2.0    
html2text               2019.8.11
idna                    2.8      
importlib-metadata      0.19     
inflection              0.3.1    
isodate                 0.6.0    
itypes                  1.1.0    
Jinja2                  2.10.1   
kombu                   4.6.4    
lxml                    4.4.1    
Mako                    1.1.0    
MarkupSafe              1.1.1    
more-itertools          7.2.0    
mysqlclient             1.3.13   
nexmo                   2.4.0    
numpy                   1.17.1   
openapi-codec           1.3.2    
packaging               19.1     
pdfkit                  0.6.1    
pexpect                 4.7.0    
phonenumbers            8.10.17  
Pillow                  6.1.0    
pip                     19.2.3   
pluggy                  0.12.0   
ptyprocess              0.6.0    
py                      1.8.0    
pycparser               2.19     
PyJWT                   1.7.1    
pymssql                 2.1.4    
pyparsing               2.4.2    
PyPDF2                  1.26.0   
pytest                  5.1.1    
pytest-cov              2.7.1    
pytest-django           3.5.1    
pytest-runner           5.1      
python-dateutil         2.8.0    
python-editor           1.0.4    
python-stdnum           1.11     
pytz                    2019.2   
PyYAML                  5.1.2    
raven                   6.10.0   
redis                   3.3.8    
reportlab               3.5.23   
requests                2.22.0   
requests-mock           1.6.0    
requests-toolbelt       0.9.1    
ruamel.yaml             0.16.5   
ruamel.yaml.clib        0.1.2    
setuptools              41.2.0   
six                     1.12.0   
sortedcontainers        2.1.0    
SQLAlchemy              1.3.7    
sqlparse                0.3.0    
static3                 0.7.0    
tenacity                5.1.1    
text-unidecode          1.2      
trmf-ice                5.0      
unicodecsv              0.14.1   
Unidecode               1.1.1    
uritemplate             3.0.0    
urllib3                 1.25.3   
vine                    1.3.0    
wcwidth                 0.1.7    
wheel                   0.33.6   
XlsxWriter              1.2.0    
xlwt                    1.3.0    
xmltodict               0.12.0   
zeep                    3.4.0    
zeroc-ice               3.7.0.1  
zipp                    0.6.0    
TomAugspurger commented 5 years ago

And does pip install pandas==0.25.1 --no-build-isolation work?

vrumjantsev commented 5 years ago

@TomAugspurger no

TomAugspurger commented 5 years ago

Hard to say what's going on then. Let us know if you're able to debug things.