0

ラップトップで正常に動作するコードに pysendfile モジュールを使用しようとしています。しかし、Android用に同じものをビルドしようとすると、buildozer android debug次のエラーがスローされます。私はrequirements=pysendfile自分のbuildozer.specファイルに含めました。

Failed building wheel for pysendfile
Running setup.py clean for pysendfile
Failed to build pysendfile
Installing collected packages: pysendfile
Running setup.py install for pysendfile: started
Running setup.py install for pysendfile: finished with status 'error'
Complete output from command /home/heman/kivy/mobile/.buildozer/venv/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-EFXqLT/pysendfile/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-GvNKlz-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/heman/kivy/mobile/.buildozer/venv/include/site/python2.7/pysendfile --home=/tmp/tmputyngD:
running install
running build
running build_ext
building 'sendfile' extension
creating build
creating build/temp.linux-x86_64-2.7
/bin/false -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c sendfilemodule.c -o build/temp.linux-x86_64-2.7/sendfilemodule.o
error: command '/bin/false' failed with exit status 1

----------------------------------------
Command "/home/heman/kivy/mobile/.buildozer/venv/bin/python2.7 -u -c"
import setuptools, tokenize;__file__='/tmp/pip-build EFXqLT/pysendfile/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-GvNKlz-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/heman/kivy/mobile/.buildozer/venv/include/site/python2.7/pysendfile --home=/tmp/tmputyngD" failed with error code 1 in /tmp/pip-build-EFXqLT/pysendfile/
Command failed: pip install --target=/home/heman/kivy/mobile/.buildozer/applibs pysendfile

Buildozer failed to execute the last command
The error might be hidden in the log above this error
Please read the full log, and search for it before
raising an issue with buildozer itself.
In case of a bug report, please add a full log with log_level = 2

編集:これは私のレシピです

from pythonforandroid.toolchain import PythonRecipe


class PysendfileRecipe(PythonRecipe):
    name='pysendfile'
    version = '2.0.1'

    url = 'https://pypi.python.org/packages/source/p/pysendfile/pysendfile-{version}.tar.gz'
    depends = ['python2']
    site_packages_name = 'sendfile'

recipe = PysendfileRecipe()
4

1 に答える 1

0

これは、pysendfile のビルド プロセスに何らかのコンパイルが含まれているように見えますが、python-for-android にはコンパイル レシピがないために発生します。現在、python-for-android は pip を使用してインストールしようとしていますが、環境が android をターゲットにするように設定されていないため失敗します (代わりに、問題をキャッチするために失敗するように設定されています)。

解決策は、コンパイルを行うために python-for-android にレシピを追加することです。これに関する情報がここにあります

于 2016-05-05T17:09:57.107 に答える