Search code examples
pythonkivybuildozer

No such file or directory buildozer debug run


I encountered an error while trying to compile my kivy app using buildozer. It's telling me no such file or directory. When I went to check the directory it's Reminder__armeabi-v7a/project.properties but it seems it needs the directory as Reminder system__armeabi-v7a/project.properties. I don't know if it's advisable to rename the directory because I didn't create the directory. It was created automatically during the build process. Also when I tried renaming the folder to "Reminder system__armeabi-v7a/project.properties", I got the error saying "toolchain.py: error unrecognized argument system system", so I reverted the changes made, and I'm looking for another solution.

My buildozer.spec file looks like this:

[app]
title = My Reminder System
package.name = Reminder system
package.domain = org.test
source.dir = .
source.include_exts = py,png,jpg,kv,atlas,txt,json
version = 0.1
requirements = python3,kivy,DateTime,SpeechRecognition
orientation = portrait
osx.python_version = 3
osx.kivy_version = 1.9.1
fullscreen = 0
android.logcat_filters = *:S python:D
android.arch = armeabi-v7a
android.allow_backup = True
ios.kivy_ios_url = https://github.com/kivy/kivy-ios
ios.kivy_ios_branch = master
ios.ios_deploy_url = https://github.com/phonegap/ios-deploy
ios.ios_deploy_branch = 1.10.0
ios.codesign.allowed = false

[buildozer]
log_level = 2
warn_on_root = 1

This is the buildozer output including the error message:

/home/umarfarouk/Reminder_system/implementation/.buildozer/android/platform/build-armeabi-v7a/dists/Reminder__armeabi-v7a/libs/armeabi-v7a/libpython3.8.so
[INFO]:    Stripping libraries in private dir
[INFO]:    Frying eggs in /home/umarfarouk/Reminder_system/implementation/.buildozer/android/platform/build-armeabi-v7a/dists/Reminder__armeabi-v7a/_python_bundle/_python_bundle/site-packages
[INFO]:    Copying in SDL2 .java files from: /home/umarfarouk/Reminder_system/implementation/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL/android-project/app/src/main/java/org/libsdl/app
[INFO]:    -> directory context /home/umarfarouk/Reminder_system/implementation/.buildozer/android/platform/build-armeabi-v7a/dists/Reminder__armeabi-v7a
[INFO]:    Saving distribution info
[INFO]:    <- directory context /home/umarfarouk/Reminder_system/implementation/.buildozer/android/platform/python-for-android
[INFO]:    # Your distribution was created successfully, exiting.
[INFO]:    Dist can be found at (for now) /home/umarfarouk/Reminder_system/implementation/.buildozer/android/platform/build-armeabi-v7a/dists/Reminder__armeabi-v7a
# Build the application #8
# Copy application source from /home/umarfarouk/Reminder_system/implementation
# Create directory /home/umarfarouk/Reminder_system/implementation/.buildozer/android/app
# Copy /home/umarfarouk/Reminder_system/implementation/user_data.json
# Copy /home/umarfarouk/Reminder_system/implementation/home2.kv
# Copy /home/umarfarouk/Reminder_system/implementation/lab2.py
# Copy /home/umarfarouk/Reminder_system/implementation/bin.txt
# Copy /home/umarfarouk/Reminder_system/implementation/login.Kv
# Copy /home/umarfarouk/Reminder_system/implementation/user_menu.kv
# Copy /home/umarfarouk/Reminder_system/implementation/home.kv
# Copy /home/umarfarouk/Reminder_system/implementation/calendar.kv
# Copy /home/umarfarouk/Reminder_system/implementation/lab.py
# Copy /home/umarfarouk/Reminder_system/implementation/lab3.kv
# Copy /home/umarfarouk/Reminder_system/implementation/voice.py
# Copy /home/umarfarouk/Reminder_system/implementation/lab3.py
# Copy /home/umarfarouk/Reminder_system/implementation/assignment.kv
# Copy /home/umarfarouk/Reminder_system/implementation/Courses.kv
# Copy /home/umarfarouk/Reminder_system/implementation/lab.kv
# Copy /home/umarfarouk/Reminder_system/implementation/reg.kv
# Copy /home/umarfarouk/Reminder_system/implementation/studio.py
# Copy /home/umarfarouk/Reminder_system/implementation/inspirational_quotes.txt
# Copy /home/umarfarouk/Reminder_system/implementation/popup.kv
# Copy /home/umarfarouk/Reminder_system/implementation/sign_up.kv
# Copy /home/umarfarouk/Reminder_system/implementation/new_login.kv
# Copy /home/umarfarouk/Reminder_system/implementation/style1.kv
# Copy /home/umarfarouk/Reminder_system/implementation/scheduler.kv
# Copy /home/umarfarouk/Reminder_system/implementation/advan.txt
# Copy /home/umarfarouk/Reminder_system/implementation/home.py
# Copy /home/umarfarouk/Reminder_system/implementation/Ttable.kv
# Copy /home/umarfarouk/Reminder_system/implementation/Advantages.txt
# Create directory /home/umarfarouk/Reminder_system/implementation/.buildozer/android/app/images
# Copy /home/umarfarouk/Reminder_system/implementation/images/11.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/16.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/9.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/4.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/10.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/15.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/s6.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/convert5.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/14.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/s4.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/convert4.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/6.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/12.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/convert2.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/convert6.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/19.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/8.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/7.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/13.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/convert3.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/2.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/18.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/convert1.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/20.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/5.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/3.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/1.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/17.jpg
# Copy /home/umarfarouk/Reminder_system/implementation/images/s5.jpg
# Package the application
Traceback (most recent call last):
  File "/usr/local/bin/buildozer", line 11, in <module>
    load_entry_point('buildozer==1.2.0.dev0', 'console_scripts', 'buildozer')()
  File "/usr/local/lib/python3.8/dist-packages/buildozer-1.2.0.dev0-py3.8.egg/buildozer/scripts/client.py", line 13, in main
    Buildozer().run_command(sys.argv[1:])
  File "/usr/local/lib/python3.8/dist-packages/buildozer-1.2.0.dev0-py3.8.egg/buildozer/__init__.py", line 1020, in run_command
    self.target.run_commands(args)
  File "/usr/local/lib/python3.8/dist-packages/buildozer-1.2.0.dev0-py3.8.egg/buildozer/target.py", line 92, in run_commands
    func(args)
  File "/usr/local/lib/python3.8/dist-packages/buildozer-1.2.0.dev0-py3.8.egg/buildozer/target.py", line 104, in cmd_debug
    self.buildozer.build()
  File "/usr/local/lib/python3.8/dist-packages/buildozer-1.2.0.dev0-py3.8.egg/buildozer/__init__.py", line 205, in build
    self.target.build_package()
  File "/usr/local/lib/python3.8/dist-packages/buildozer-1.2.0.dev0-py3.8.egg/buildozer/targets/android.py", line 1076, in build_package
    self._update_libraries_references(dist_dir)
  File "/usr/local/lib/python3.8/dist-packages/buildozer-1.2.0.dev0-py3.8.egg/buildozer/targets/android.py", line 1349, in _update_libraries_references
    with io.open(project_fn, 'w', encoding='utf-8') as fd:
FileNotFoundError: [Errno 2] No such file or directory: '/home/umarfarouk/Reminder_system/implementation/.buildozer/android/platform/build-armeabi-v7a/dists/Reminder system__armeabi-v7a/project.properties'
umarfarouk@umarfarouk-VirtualBox:~/Reminder_system/implementation$ 

Why do I get this error message and how can I solve it?


Solution

  • I'm not familiar with buildozer, but the path in your error message contains a space, which is suspicious (unfortunately, many tools still fail to work with spaces in the path...). It seems to come from your package.name variable in the buildozer.spec, which is "Reminder system".

    Simply renaming directories that you didn't make yourself is generally a bad idea. I'm glad you reverted that action.

    The documentation of buildozer.spec states this:

    The Package name is one word with only ASCII characters and/or numbers. It should not contain any special characters. For example, if your application is named Flat Jewels, the package name can be flatjewels.

    So I guess that changing that line to:

    package.name = ReminderSystem
    

    should solve the problem.