1

我可以在 kivy 上使用 pysftp,但我无法使用此要求打包我的应用程序。使用 buildozer,消息中说我使用的是 pip 8.1.1,还有另一个版本,8.1.2。但是我检查了我的版本,我的版本已经是 8.1.2。当然,我可以使用 pip install pysftp 安装 pysftp。我的日志文件是这样的:

# Check configuration tokens # Ensure build layout # Check configuration tokens # Preparing build # Check requirements for android # Run 'dpkg --version' # Cwd None Programa de gerenciamento de pacotes Debian 'dpkg' versão 1.17.5 (amd64). Isto é software livre; veja a GNU General Public License versão 2 ou posterior para condições de cópia. Não existe NENHUMA garantia. # Search for Git (git) # -> found at /usr/bin/git # Search for Cython (cython) # -> found at /usr/local/bin/cython # Search for Java compiler (javac) # -> found at /usr/lib/jvm/java-7-openjdk-amd64/bin/javac # Search for Java keytool (keytool) # -> found at /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/keytool # Install platform # Apache ANT found at /home/awulll/.buildozer/android/platform/apache-ant-1.9.4 # Android SDK found at /home/awulll/.buildozer/android/platform/android-sdk-20 # Android NDK found at /home/awulll/.buildozer/android/platform/android-ndk-r9c # Check application requirements # Run './distribute.sh -l' # Cwd /home/awulll/dapapp/.buildozer/android/platform/python-for-android Available modules: android apsw audiostream bidi boost cherrypy c_igraph click cprotobuf cymunk django docutils ecdsa enum34 evdev ffmpeg ffmpeg2 ffpyplayer ffpyplayer_tito flask freetype gevent greenlet harfbuzz hostpython igraph itsdangerous jinja2 jpeg kivent_core kivent_cymunk kivy leveldb libevent libpq libsodium libswift libtorrent libxml2 libxslt libyaml lxml m2crypto markupsafe midistream msgpack mysql_connector netifaces numpy opencv openssl paramiko pil plyer plyvel png polygon protobuf psutil psycopg2 pyasn1 pycrypto pygame pyjnius pylibpd pyopenssl pyparsing pyqrcode python pyyaml sdl setuptools six sqlalchemy sqlite3 storm swift thrift twisted txws werkzeug wokkel zeroconf zope # Remove directory and subdirectory /home/awulll/dapapp/.buildozer/applibs # Create directory /home/awulll/dapapp/.buildozer/applibs # Run 'bash -c "source venv/bin/activate && env"' # Cwd /home/awulll/dapapp/.buildozer XDG_VTNR=8 XDG_SESSION_ID=c1 SSH_AGENT_PID=2191 GPG_AGENT_INFO=/run/user/1000/keyring-JXgOZD/gpg:0:1 VTE_VERSION=3409 SHELL=/bin/bash TERM=xterm XDG_SESSION_COOKIE=9cf5cdba17a429f4e3205d8a54ac9c66-1463226321.499664-1491359051 GJS_DEBUG_OUTPUT=stderr WINDOWID=39845895 GNOME_KEYRING_CONTROL=/run/user/1000/keyring-JXgOZD GJS_DEBUG_TOPICS=JS ERROR;JS LOG USER=awulll LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: SSH_AUTH_SOCK=/run/user/1000/keyring-JXgOZD/ssh SESSION_MANAGER=local/awulll-mint:@/tmp/.ICE-unix/2054,unix/awulll-mint:/tmp/.ICE-unix/2054 USERNAME=awulll DEFAULTS_PATH=/usr/share/gconf/default.default.path VIRTUAL_ENV=/home/awulll/dapapp/.buildozer/venv XDG_CONFIG_DIRS=/etc/xdg/xdg-default:/etc/xdg PATH=/home/awulll/dapapp/.buildozer/venv/bin:/home/awulll/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/awulll/bin:/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin://usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games DESKTOP_SESSION=default ANDROIDAPI=19 GDM_XSERVER_LOCATION=local PWD=/home/awulll/dapapp/.buildozer JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 LANG=pt_BR.UTF-8 GNOME_KEYRING_PID=1978 MANDATORY_PATH=/usr/share/gconf/default.mandatory.path ANDROIDNDK=/home/awulll/.buildozer/android/platform/android-ndk-r9c PS1=(venv) MDM_XSERVER_LOCATION=local GDMSESSION=default PACKAGES_PATH=/home/awulll/.buildozer/android/packages CINNAMON_VERSION=2.4.8 HOME=/home/awulll SHLVL=2 XDG_SEAT=seat0 GNOME_DESKTOP_SESSION_ID=this-is-deprecated XDG_SESSION_DESKTOP=default ANDROIDSDK=/home/awulll/.buildozer/android/platform/android-sdk-20 LOGNAME=awulll XDG_DATA_DIRS=/usr/share/default:/usr/share/gnome:/usr/local/share/:/usr/share/:/usr/share/mdm/ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-fdxlKZ9y2o,guid=226dcf0498f8da9740aa1f9157370fd2 MDMSESSION=default ANDROIDNDKVER=r9c WINDOWPATH=8 TEXTDOMAIN=im-config DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000 MDM_LANG=pt_BR.UTF-8 XDG_CURRENT_DESKTOP=X-Cinnamon TEXTDOMAINDIR=/usr/share/locale/ XAUTHORITY=/home/awulll/.Xauthority COLORTERM=gnome-terminal _=/usr/bin/env # Install distribute # Run 'curl http://python-distribute.org/distribute_setup.py | venv/bin/python' # Cwd /home/awulll/dapapp/.buildozer % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 # Install requirement datetime in virtualenv # Run 'pip install --target=/home/awulll/dapapp/.buildozer/applibs datetime' # Cwd /home/awulll/dapapp/.buildozer Collecting datetime /home/awulll/dapapp/.buildozer/venv/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning. SNIMissingWarning /home/awulll/dapapp/.buildozer/venv/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Collecting zope.interface (from datetime) Collecting pytz (from datetime) Using cached pytz-2016.4-py2.py3-none-any.whl Collecting setuptools (from zope.interface->datetime) Using cached setuptools-21.0.0-py2.py3-none-any.whl Installing collected packages: setuptools, zope.interface, pytz, datetime Successfully installed datetime pytz setuptools-20.9.0 zope.interface You are using pip version 8.1.1, however version 8.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. # Install distribute # Run 'curl http://python-distribute.org/distribute_setup.py | venv/bin/python' # Cwd /home/awulll/dapapp/.buildozer % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 # Install requirement pysftp in virtualenv # Run 'pip install --target=/home/awulll/dapapp/.buildozer/applibs pysftp' # Cwd /home/awulll/dapapp/.buildozer Collecting pysftp /home/awulll/dapapp/.buildozer/venv/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning. SNIMissingWarning /home/awulll/dapapp/.buildozer/venv/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Using cached pysftp-0.2.8.tar.gz Collecting paramiko>=1.7.7 (from pysftp) Using cached paramiko-2.0.0-py2.py3-none-any.whl Collecting pyasn1>=0.1.7 (from paramiko>=1.7.7->pysftp) Using cached pyasn1-0.1.9-py2.py3-none-any.whl Collecting cryptography>=1.1 (from paramiko>=1.7.7->pysftp) Using cached cryptography-1.3.2.tar.gz Collecting idna>=2.0 (from cryptography>=1.1->paramiko>=1.7.7->pysftp) Using cached idna-2.1-py2.py3-none-any.whl Collecting six>=1.4.1 (from cryptography>=1.1->paramiko>=1.7.7->pysftp) Using cached six-1.10.0-py2.py3-none-any.whl Collecting setuptools>=11.3 (from cryptography>=1.1->paramiko>=1.7.7->pysftp) Using cached setuptools-21.0.0-py2.py3-none-any.whl Collecting enum34 (from cryptography>=1.1->paramiko>=1.7.7->pysftp) Using cached enum34-1.1.5-py2.py3-none-any.whl Collecting ipaddress (from cryptography>=1.1->paramiko>=1.7.7->pysftp) Using cached ipaddress-1.0.16-py27-none-any.whl Collecting cffi>=1.4.1 (from cryptography>=1.1->paramiko>=1.7.7->pysftp) Using cached cffi-1.6.0.tar.gz Complete output from command python setup.py egg_info: No working compiler found, or bogus compiler options passed to the compiler from Python's distutils module. See the error messages above. (If they are about -mno-fused-madd and you are on OS/X 10.8, see http://stackoverflow.com/questions/22313407/ .) ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-eC7Zv8/cffi/ You are using pip version 8.1.1, however version 8.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. # Command failed: pip install --target=/home/awulll/dapapp/.buildozer/applibs pysftp # # 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 real 0m5.286s user 0m3.188s sys 0m0.357s

我已经尝试检查日志中建议的链接,但这对我也没有帮助。

4

1 回答 1

1

看起来 pysftp 依赖项之一正在拉入 cffi 作为进一步的依赖项,它需要编译,因此无法在没有配方的情况下由 python-for-android 构建。p4a 已经有一个 cffi 配方,所以它可以工作 - 也许最简单的选择是添加一个 pysftp 配方。

您也可以尝试获取最新的 buildozer 版本并运行buildozer android_new debug。对依赖关系解析的更改可能意味着它可以工作,但它也可能无济于事 - 特别是如果 buildozer 本身正在管理这部分。

于 2016-05-14T17:48:04.430 回答