Skip to content

pip install fails on ppc64le #21436

Closed
Closed
@thilo-maurer

Description

@thilo-maurer

Installing pandas using pip install pandas fails on architecture ppc64le.

$> pip install pandas --user
Collecting pandas
  Using cached https://files.pythonhosted.org/packages/45/12/1e1ba99fb65df9f7f3724d3232feef35cc044d18604d57492d561e90219f/pandas-0.23.0.tar.gz
Collecting python-dateutil>=2.5.0 (from pandas)
  Using cached https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): pytz>=2011k in /usr/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.9.0 in ./.local/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in /usr/lib/python2.7/site-packages (from python-dateutil>=2.5.0->pandas)
Building wheels for collected packages: pandas
  Running setup.py bdist_wheel for pandas ... error
  Complete output from command /usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-WyedBH/pandas/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmp6F7saUpip-wheel- --python-tag cp27:
  running bdist_wheel
  [...]
  copying pandas/tests/io/data/test2.xlsm -> build/lib.linux-ppc64le-2.7/pandas/tests/io/data
  copying pandas/tests/io/data/test_types.xls -> build/lib.linux-ppc64le-2.7/pandas/tests/io/data
  error: can't copy 'pandas/tests/io/data/legacy_hdf': doesn't exist or not a regular file
  
  ----------------------------------------
  Failed building wheel for pandas

Issue may be resolved by the

[tmaurer@ibm pandas]$ git diff
diff --git a/setup.py b/setup.py
index 90ec8e91a..b38deedce 100755
--- a/setup.py
+++ b/setup.py
@@ -733,7 +733,7 @@ setup(name=DISTNAME,
       maintainer=AUTHOR,
       version=versioneer.get_version(),
       packages=find_packages(include=['pandas', 'pandas.*']),
-      package_data={'': ['data/*', 'templates/*', '_libs/*.dll'],
+      package_data={'': ['data/*.*', 'templates/*', '_libs/*.dll'],
                     'pandas.tests.io': ['data/legacy_hdf/*.h5',
                                         'data/legacy_pickle/*/*.pickle',
                                         'data/legacy_msgpack/*/*.msgpack',

Is seems that on ppc64le data/* selects the directory data/legacy_hdf, while on x86, it does not.
In turn, on ppc64le, the directory cannot be copied because is it not a file.

The fix is IMHO a workaround, since by accident, using the glob data/*.* instead of data/* selects only files, since all the directories have no file-name extension.

To my understanding, on x86, data/* should select directories as well, and the same error should have been raised.

OS used: Red Hat Enterprise Linux Server release 7.3 (Maipo)

Metadata

Metadata

Assignees

No one assigned

    Labels

    BuildLibrary building on various platforms

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions