Buildozer: ImportError: cannot import name 'main'

Created on 10 Apr 2020  路  3Comments  路  Source: kivy/buildozer

Versions

  • Python: 3.6.9
  • OS: Ubuntu 18.04.4 LTS
  • Buildozer: 1.0

Description

I can't get to create an APK, no matter what I do I get:

RAN: /home/chava/.local/bin/virtualenv --python=python3 venv

STDOUT:
Traceback (most recent call last):
File "/home/chava/.local/bin/virtualenv", line 7, in
from virtualenv import main
ImportError: cannot import name 'main'

Do not know what happened I used to create APK's in this way, and suddenly I cannot.

buildozer.spec

Command:
buildozer android debug deploy run (as always)

Spec file:
There no point I didn't change anything but:

(str) Title of your application

title = testingapp [HERE]

(str) Package name

package.name = myapp [By the way if one changes this assignation to anything like my_app], one gets another bug.

(str) Package domain (needed for android/ios packaging)

package.domain = org.testingapp [HERE]

Logs

chava@lap:~/PycharmProjects/lolotron$ buildozer android debug deploy run

Check configuration tokens

Ensure build layout

Check configuration tokens

Preparing build

Check requirements for android

Run 'dpkg --version'

Cwd None

Programa de gesti贸n de paquetes de Debian `dpkg' versi贸n 1.19.0.5 (amd64).
Esto es software libre; consulte la Licencia P煤blica General de GNU versi贸n 2 o
posterior para conocer las condiciones de copia. No hay NINGUNA garant铆a.

Search for Git (git)

-> found at /usr/bin/git

Search for Cython (cython)

-> found at /home/chava/.local/bin/cython

Search for Java compiler (javac)

-> found at /usr/lib/jvm/java-8-openjdk-amd64/bin/javac

Search for Java keytool (keytool)

-> found at /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool

Install platform

Run 'git config --get remote.origin.url'

Cwd /home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android

https://github.com/kivy/python-for-android.git

Run 'git branch -vv'

Cwd /home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android

  • master 8cf66cc1 [origin/master] Merge pull request #2111 from kivy/release-2020.03.30

    Run '/usr/bin/python3 -m pip install -q --user \'appdirs\' \'colorama>=0.3.3\' \'jinja2\' \'six\' \'enum34; python_version<"3.4"\' \'sh>=1.10; sys_platform!="nt"\' \'pep517<0.7.0"\' \'pytoml\' \'virtualenv<20\''

Cwd None

Apache ANT found at /home/chava/.buildozer/android/platform/apache-ant-1.9.4

Android SDK found at /home/chava/.buildozer/android/platform/android-sdk

Recommended android's NDK version by p4a is: 19b

Android NDK found at /home/chava/.buildozer/android/platform/android-ndk-r19b

Check application requirements

Check garden requirements

Compile platform

Run '/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21'

Cwd /home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android

Exception in thread background thread for pid 25806:
Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(self._args, *self._kwargs)
File "/home/chava/.local/lib/python3.6/site-packages/sh.py", line 1540, in wrap
fn(args, *kwargs)
File "/home/chava/.local/lib/python3.6/site-packages/sh.py", line 2459, in background_thread
handle_exit_code(exit_code)
File "/home/chava/.local/lib/python3.6/site-packages/sh.py", line 2157, in fn
return self.command.handle_command_exit_code(exit_code)
File "/home/chava/.local/lib/python3.6/site-packages/sh.py", line 815, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:

RAN: /home/chava/.local/bin/virtualenv --python=python3 venv

STDOUT:
Traceback (most recent call last):
File "/home/chava/.local/bin/virtualenv", line 7, in
from virtualenv import main
ImportError: cannot import name 'main'

STDERR:

Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1199, in
main()
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
ToolchainCL()
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 671, in __init__
getattr(self, args.subparser_name.replace('-', '_'))(args)
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 155, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 209, in build_dist_from_args
args, "ignore_setup_py", False
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 605, in build_recipes
ignore_setup_py=ignore_project_setup_py
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 782, in run_pymodules_install
'venv'
File "/home/chava/PycharmProjects/lolotron/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 180, in shprint
for line in output:
File "/home/chava/.local/lib/python3.6/site-packages/sh.py", line 863, in next
self.wait()
File "/home/chava/.local/lib/python3.6/site-packages/sh.py", line 792, in wait
self.handle_command_exit_code(exit_code)
File "/home/chava/.local/lib/python3.6/site-packages/sh.py", line 815, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:

RAN: /home/chava/.local/bin/virtualenv --python=python3 venv

STDOUT:
Traceback (most recent call last):
File "/home/chava/.local/bin/virtualenv", line 7, in
from virtualenv import main
ImportError: cannot import name 'main'

STDERR:

Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/chava/PycharmProjects/lolotron/.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 = 'es_MX.UTF-8'

DISPLAY = ':0'

GNOME_SHELL_SESSION_MODE = 'flat-remix-fullpanel'

COLORTERM = 'truecolor'

DESKTOP_AUTOSTART_ID = '104b8f56589ec3e2c2158645493290045400000015390007'

USERNAME = 'chava'

XDG_VTNR = '2'

SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'

XDG_SESSION_ID = '2'

USER = 'chava'

DESKTOP_SESSION = '1b_flat-remix-gnome-fullpanel-wayland'

QT4_IM_MODULE = 'xim'

TEXTDOMAINDIR = '/usr/share/locale/'

WAYLAND_DISPLAY = 'wayland-0'

GNOME_TERMINAL_SCREEN = '/org/gnome/Terminal/screen/cd7508ad_505d_4af1_a730_1e157147df29'

PWD = '/home/chava/PycharmProjects/lolotron'

HOME = '/home/chava'

TEXTDOMAIN = 'im-config'

XDG_SESSION_TYPE = 'wayland'

XDG_DATA_DIRS = '/usr/share/1b_flat-remix-gnome-fullpanel-wayland:/home/chava/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop'

XDG_SESSION_DESKTOP = '1b_flat-remix-gnome-fullpanel-wayland'

TERM = 'xterm-256color'

SHELL = '/bin/bash'

VTE_VERSION = '5202'

QT_IM_MODULE = 'ibus'

XMODIFIERS = '@im=ibus'

IM_CONFIG_PHASE = '2'

XDG_CURRENT_DESKTOP = 'Flat-Remix-GNOME:GNOME'

GNOME_TERMINAL_SERVICE = ':1.76'

XDG_SEAT = 'seat0'

SHLVL = '2'

LANGUAGE = 'es_MX:es'

GDMSESSION = '1b_flat-remix-gnome-fullpanel-wayland'

GNOME_DESKTOP_SESSION_ID = 'this-is-deprecated'

LOGNAME = 'chava'

DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'

XDG_RUNTIME_DIR = '/run/user/1000'

XDG_CONFIG_DIRS = '/etc/xdg/xdg-1b_flat-remix-gnome-fullpanel-wayland:/etc/xdg'

PATH = '/home/chava/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/chava/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/chava/.local/bin/'

SESSION_MANAGER = 'local/lap:@/tmp/.ICE-unix/1539,unix/lap:/tmp/.ICE-unix/1539'

LESSOPEN = '| /usr/bin/lesspipe %s'

OLDPWD = '/home/chava/PycharmProjects'

_ = '/home/chava/.local/bin/buildozer'

PACKAGES_PATH = '/home/chava/.buildozer/android/packages'

ANDROIDSDK = '/home/chava/.buildozer/android/platform/android-sdk'

ANDROIDNDK = '/home/chava/.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

All 3 comments

Not sure why this guy started failing recently, but try installing the following deps:

wheel pip virtualenv

I installed them in my project:

(venv) chava@lap:~/PycharmProjects/lolotron$ pip3 install wheel
Requirement already satisfied: wheel in ./venv/lib/python3.6/site-packages (0.34.2)

(venv) chava@lap:~/PycharmProjects/lolotron$ pip3 install pip
Requirement already satisfied: pip in ./venv/lib/python3.6/site-packages (20.0.2)

(venv) chava@lap:~/PycharmProjects/lolotron$ pip3 install virtualenv
Requirement already satisfied: virtualenv in ./venv/lib/python3.6/site-packages (20.0.17)
Requirement already satisfied: appdirs<2,>=1.4.3 in ./venv/lib/python3.6/site-packages (from virtualenv) (1.4.3)
Requirement already satisfied: importlib-resources<2,>=1.0; python_version < "3.7" in ./venv/lib/python3.6/site-packages (from virtualenv) (1.4.0)
Requirement already satisfied: filelock<4,>=3.0.0 in ./venv/lib/python3.6/site-packages (from virtualenv) (3.0.12)
Requirement already satisfied: importlib-metadata<2,>=0.12; python_version < "3.8" in ./venv/lib/python3.6/site-packages (from virtualenv) (1.6.0)
Requirement already satisfied: distlib<1,>=0.3.0 in ./venv/lib/python3.6/site-packages (from virtualenv) (0.3.0)
Requirement already satisfied: six<2,>=1.9.0 in ./venv/lib/python3.6/site-packages (from virtualenv) (1.14.0)
Requirement already satisfied: zipp>=0.4; python_version < "3.8" in ./venv/lib/python3.6/site-packages (from importlib-resources<2,>=1.0; python_version < "3.7"->virtualenv) (3.1.0)

Then did a buildozer android clean, and finally I erased the .buildozer dir.

It failed again in the same way:

RAN: /home/chava/.local/bin/virtualenv --python=python3 venv

STDOUT:
Traceback (most recent call last):
File "/home/chava/.local/bin/virtualenv", line 7, in
from virtualenv import main
ImportError: cannot import name 'main'

pip3 install pip --upgrade

Fixed it for me. (the --upgrade is critical)

Was this page helpful?
0 / 5 - 0 ratings