Я пытаюсь использовать python / cython на Android в Termux. Я получил Python, установленный Cython pip - без «очевидных» проблем. Теперь у меня есть два простых тестовых фрагмента
Основной файл mct.py
import os
hm=os.path.expanduser('~')
os.chdir(hm+'/projects/python1/v1')
from libmc import sq
print(sq(4))
и тупо тривиальная библиотека 'Cython'
cpdef double sq(double x):
return x*x
Я скомпилировал библиотеку простым способом (без fust distutils), т.е. я делаю
cython -3 mct.pyx
clang -shared -pthread -fpic -fwrapv -fno-strict-aliasing -O2 -Wall -I /data/data/com.termux/files/usr/include/python3.7m/ -o libmc.so -lpython3 mc.c
После этого я получаю libmc.so в корне моих проектов. Однако тогда, когда я пытаюсь
python mct.py
Я получаю
Traceback (most recent call last):
File "mct.py", line 4, in <module>
from libmc import sq
ImportError: dynamic module does not define module export function (PyInit_libmc)
Теперь я застрял. Что мне здесь не хватает? Любые предложения, чтобы исправить это?
Mark
PS: Просто чтобы уточнить, «нормальный» Python, кажется, хорошо работает для меня на этом Android-боксе.