I have a working kivy application, and am trying to turn it into an app using buildozer (using Ubuntu 18.04 in virtualbox on a windows PC). I created a buildozer.spec file using buildozer init
, and then I ran buildozer -v android debug
in terminal. After a few minutes, I got the long error message below. Above that error message, I found the line
ERROR: Could not find a version that satisfies the requirement csv (from -r requirements.txt (line 4)) (from versions: none)
I take it that the (from versions: none)
is the problem - where do I fix that?
Long error message:
# Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=fplanalysis --bootstrap=sdl2 --requirements=python3,kivy,asyncio,math,csv,understat,tabulate,colorama,pandas,statsmodels,aiohttp,scipy,tqdm,pickle --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/sv/Documents/python/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21
# ENVIRONMENT:
# CLUTTER_IM_MODULE = 'xim'
# 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:mi=00: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:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=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:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=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:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=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:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'
# LESSCLOSE = '/usr/bin/lesspipe %s %s'
# XDG_MENU_PREFIX = 'gnome-'
# LANG = 'en_GB.UTF-8'
# DISPLAY = ':1'
# OLDPWD = '/home/sv/Documents'
# GNOME_SHELL_SESSION_MODE = 'ubuntu'
# COLORTERM = 'truecolor'
# USERNAME = 'sv'
# XDG_VTNR = '2'
# SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'
# XDG_SESSION_ID = '3'
# USER = 'sv'
# DESKTOP_SESSION = 'ubuntu'
# QT4_IM_MODULE = 'xim'
# TEXTDOMAINDIR = '/usr/share/locale/'
# GNOME_TERMINAL_SCREEN = '/org/gnome/Terminal/screen/d0e659f1_5790_4669_b068_df16f302f612'
# PWD = '/home/sv/Documents/python'
# HOME = '/home/sv'
# TEXTDOMAIN = 'im-config'
# SSH_AGENT_PID = '1250'
# QT_ACCESSIBILITY = '1'
# XDG_SESSION_TYPE = 'x11'
# XDG_DATA_DIRS = '/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop'
# XDG_SESSION_DESKTOP = 'ubuntu'
# GJS_DEBUG_OUTPUT = 'stderr'
# GTK_MODULES = 'gail:atk-bridge'
# WINDOWPATH = '2'
# TERM = 'xterm-256color'
# SHELL = '/bin/bash'
# VTE_VERSION = '5202'
# QT_IM_MODULE = 'xim'
# XMODIFIERS = '@im=ibus'
# IM_CONFIG_PHASE = '2'
# XDG_CURRENT_DESKTOP = 'ubuntu:GNOME'
# GPG_AGENT_INFO = '/run/user/1000/gnupg/S.gpg-agent:0:1'
# GNOME_TERMINAL_SERVICE = ':1.93'
# XDG_SEAT = 'seat0'
# SHLVL = '1'
# LANGUAGE = 'en_GB:en'
# GDMSESSION = 'ubuntu'
# GNOME_DESKTOP_SESSION_ID = 'this-is-deprecated'
# LOGNAME = 'sv'
# DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'
# XDG_RUNTIME_DIR = '/run/user/1000'
# XAUTHORITY = '/run/user/1000/gdm/Xauthority'
# XDG_CONFIG_DIRS = '/etc/xdg/xdg-ubuntu:/etc/xdg'
# PATH = '/home/sv/.buildozer/android/platform/apache-ant-1.9.4/bin:HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/sv/.local/bin/'
# GJS_DEBUG_TOPICS = 'JS ERROR;JS LOG'
# SESSION_MANAGER = 'local/sv-VirtualBox:@/tmp/.ICE-unix/1155,unix/sv-VirtualBox:/tmp/.ICE-unix/1155'
# LESSOPEN = '| /usr/bin/lesspipe %s'
# GTK_IM_MODULE = 'ibus'
# _ = '/home/sv/.local/bin/buildozer'
# PACKAGES_PATH = '/home/sv/.buildozer/android/packages'
# ANDROIDSDK = '/home/sv/.buildozer/android/platform/android-sdk'
# ANDROIDNDK = '/home/sv/.buildozer/android/platform/android-ndk-r19b'
# ANDROIDAPI = '27'
# ANDROIDMINAPI = '21'
#
# 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
Ok it turns out this error happens if the module ('csv' in this case) is in Python's standard library (source). You can check which modules are in Python's standard library using this python code (source):