We're currently on version 0.18. Versions 0.19 and later require Pythran, which fails like this:
File "setup.py", line 218, in <module>
setup(
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/requirements/numpy/distutils/core.py", line 169, in setup
return old_setup(**new_attr)
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/env/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/smith/.pyenv/versions/3.9.12/lib/python3.9/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/smith/.pyenv/versions/3.9.12/lib/python3.9/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/smith/.pyenv/versions/3.9.12/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/requirements/numpy/distutils/command/egg_info.py", line 24, in run
self.run_command("build_src")
File "/home/smith/.pyenv/versions/3.9.12/lib/python3.9/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/smith/.pyenv/versions/3.9.12/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/requirements/numpy/distutils/command/build_src.py", line 144, in run
self.build_sources()
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/requirements/numpy/distutils/command/build_src.py", line 161, in build_sources
self.build_extension_sources(ext)
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/requirements/numpy/distutils/command/build_src.py", line 306, in build_extension_sources
sources = list(ext.sources)
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/env/lib/python3.9/site-packages/pythran/dist.py", line 160, in sources
import pythran.toolchain as tc
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/env/lib/python3.9/site-packages/pythran/toolchain.py", line 6, in <module>
from pythran.backend import Cxx, Python
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/env/lib/python3.9/site-packages/pythran/backend.py", line 7, in <module>
from pythran.analyses import LocalNodeDeclarations, GlobalDeclarations, Scope
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/env/lib/python3.9/site-packages/pythran/analyses/__init__.py", line 12, in <module>
from .aliases import Aliases, StrictAliases
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/env/lib/python3.9/site-packages/pythran/analyses/aliases.py", line 6, in <module>
from pythran.tables import functions, methods, MODULES
File "/home/smith/git/chaquo/chaquopy/server/pypi/packages/scikit-image/build/0.19.3/cp39-cp39-android_21_arm64_v8a/env/lib/python3.9/site-packages/pythran/tables.py", line 152, in <module>
inspect.getfullargspec(numpy.asarray)
AttributeError: module 'numpy' has no attribute 'asarray'
This is because the Android build of NumPy is earlier on the PYTHONPATH, and it doesn't provide anything at build-time except get_include. I don't know whether Pythran would still work if it imported a Linux x86_64 version of NumPy, or whether its output is platform-dependent.
Versions 0.20 and later require Meson, like NumPy and SciPy (#1041). However, I understand some work has been done in the Meson-based version of NumPy to make it more cross-compilation-friendly, so this may make it easier to solve the Pythran issue as well.
We're currently on version 0.18. Versions 0.19 and later require Pythran, which fails like this:
This is because the Android build of NumPy is earlier on the PYTHONPATH, and it doesn't provide anything at build-time except
get_include
. I don't know whether Pythran would still work if it imported a Linux x86_64 version of NumPy, or whether its output is platform-dependent.Versions 0.20 and later require Meson, like NumPy and SciPy (#1041). However, I understand some work has been done in the Meson-based version of NumPy to make it more cross-compilation-friendly, so this may make it easier to solve the Pythran issue as well.