Numpy module cannot be found in Kivy toolchain created Xcode project

419 views
Skip to first unread message

emre gunaydin

unread,
Apr 2, 2021, 8:45:45 AM4/2/21
to Kivy users support

Versions

  • Python : 3.7.3
  • MacOS version : macOS Big Sur: 11.2.1
  • XCode Version :12.4
  • Cython version :0.27.3
  • kivy-ios :master

Describe the bug
I want to develop an application with Kivy for iOS devices.
But when I run my application with toolchain created Xcode project, "ModuleNotFoundError: No module named 'numpy'" error pops up in Xcode project

To Reproduce
1-install Numpy:
python3.7 -m pip install Numpy

2-Create Xcode project with a dummy python code which includes Numpy import:
sudo python3.7 /Users/emre/Documents/kivy-ios-master/kivy_ios/toolchain.py create wsb /Users/emre/Documents/Temp/WSB
(please see dummy python file below which will be converted into Xcode file)
main.txt

3-open project:
Modify team field ->your account
Modify build phases:run script:shell /bin/bash->rsync -av -O --no-perms --delete "/Users/emre/Documents/Temp/WSB"/ "$PROJECT_DIR"/YourApp

4-run project:
run project on any ios iPhoneSimulator or device and see the xcode error log below "ModuleNotFoundError: No module named 'numpy'"

Expected behavior
Loading project on iOS without any error

Logs
Xcode error log:
2021-03-31 22:47:54.965840+0200 wsb[68196:289893] Available orientation: KIVY_ORIENTATION=LandscapeLeft LandscapeRight Portrait PortraitUpsideDown
2021-03-31 22:47:54.966025+0200 wsb[68196:289893] Initializing python
2021-03-31 22:47:55.216308+0200 wsb[68196:289893] Running main.py: /Users/emre/Library/Developer/CoreSimulator/Devices/91B8D870-307A-4B75-A778-FD3C42FB941C/data/Containers/Bundle/Application/29898B5A-D5B1-43A7-B198-C25A0CE3530B/wsb.app/YourApp/main.pyc
Traceback (most recent call last):
File "/Users/emre/Documents/kivy-ios-master/wsb-ios/YourApp/main.py", line 1, in 
File "/Users/emre/Library/Developer/CoreSimulator/Devices/91B8D870-307A-4B75-A778-FD3C42FB941C/data/Containers/Bundle/Application/29898B5A-D5B1-43A7-B198-C25A0CE3530B/wsb.app/lib/python3.9/site-packages/imutils/init.py", line 8, in 
from .convenience import translate
File "/Users/emre/Library/Developer/CoreSimulator/Devices/91B8D870-307A-4B75-A778-FD3C42FB941C/data/Containers/Bundle/Application/29898B5A-D5B1-43A7-B198-C25A0CE3530B/wsb.app/lib/python3.9/site-packages/imutils/convenience.py", line 5, in 
import numpy as np
ModuleNotFoundError: No module named 'numpy'
2021-03-31 22:47:55.224631+0200 wsb[68196:289893] Application quit abnormally!
2021-03-31 22:47:55.234595+0200 wsb[68196:289893] Leaving

Toolchain error log 1:
sudo python3.7 toolchain.py build python3 numpy
Toolchain_error_log.txt

Toolchain error log 2:
sudo python3.7 toolchain.py pip install numpy
toolchain_pip_install.txt

Screenshots

https://user-images.githubusercontent.com/32298080/113348215-9d35d500-9336-11eb-8828-208e7ecace06.png

Additional context
As you can see above logs, i have tried "sudo python3.7 toolchain.py build python3 numpy" and "sudo python3.7 toolchain.py pip install numpy" commands either, none of them worked.

2 Additional points I have to mention which could be reason of build problems:

1- Python3.9 is used in toolchain:
Somehow toolchain is using Python3.9(Please see my log files to see if python3.9 is used),
although python3.7 command is sent for toolchain methods "sudo python3.7 toolchain.py build python3 numpy".
If it is the problem than could anyone please inform me what i have to do to switch python3.7?

Note: I have also tried following steps to see if python3.9 would work fine or not
A-

  • Install Python3.9
  • install numpy for python3.9
  • create xcode project
  • run project
    Still numpy module not found error occurs

B-

  • Also "sudo python3.9 toolchain.py build python3 numpy" does not work

2-when i tried to create my xcode project, i got following error about cython at the beginning :

sudo python3.7 /Users/emre/Documents/kivy-ios-master/kivy_ios/toolchain.py create wsb /Users/emre/Documents/Temp/WSB
/Users/emre/Documents/kivy-ios-master/kivy_ios/toolchain.py:94: DeprecationWarning: ChromeDownloader style of invoking requests is deprecated. Use newer urlopen functions/methods
urlretrieve = ChromeDownloader().retrieve
[ERROR ] Missing requirement: cython is not installed

than i debugged the code and recognized that toolchain was trying to execute cython exec from /usr/local/bin/cython directory
but there was no cython.exec there. Therefore i copied my cython exec from my Python3.7 folder into /usr/local/bin
and than I could create my xcode project.

Note:I have tried also to copy my cython file to /usr/local/bin from python3.9, after creating Xcode project with python3.9 and executing, I got the same "Numpy module not found" error.

My Python Pip installation versions:
emres-MacBook-Air:kivy-ios-master emre$ python3.7 -m pip list
Package Version

absl-py 0.11.0
appnope 0.1.2
appscript 1.1.1
argon2-cffi 20.1.0
arrow 1.0.3
astor 0.8.1
async-generator 1.10
attrs 20.3.0
backcall 0.2.0
binaryornot 0.4.4
bleach 3.3.0
cached-property 1.5.2
cachetools 4.2.1
certifi 2020.12.5
cffi 1.14.5
chardet 4.0.0
click 7.1.2
colorama 0.4.4
contextlib2 0.6.0.post1
cookiecutter 1.7.2
cryptography 2.9.2
cycler 0.10.0
Cython 0.27.3
decorator 4.4.2
defusedxml 0.6.0
docopt 0.6.2
docutils 0.16
entrypoints 0.3
flatbuffers 1.12
future 0.18.2
gast 0.2.2
google-api-core 1.26.1
google-api-python-client 1.8.0
google-auth 1.27.1
google-auth-httplib2 0.1.0
google-pasta 0.2.0
googleapis-common-protos 1.53.0
grpcio 1.35.0
h5py 3.1.0
httplib2 0.19.0
idna 2.10
importlib-metadata 3.7.2
imutils 0.5.4
ipykernel 5.4.3
ipython 7.20.0
ipython-genutils 0.2.0
ipywidgets 7.6.3
jedi 0.18.0
Jinja2 2.11.3
jinja2-time 0.2.0
jsonschema 3.2.0
jupyter 1.0.0
jupyter-client 6.1.11
jupyter-console 6.2.0
jupyter-core 4.7.1
jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.0
Keras-Applications 1.0.8
Keras-Preprocessing 1.1.2
keyring 23.0.0
Kivy 2.0.0
Kivy-Garden 0.1.4
kivy-ios 1.2.1
kiwisolver 1.3.1
lvis 0.5.3
lxml 4.6.2
Markdown 3.3.3
MarkupSafe 1.1.1
matplotlib 3.3.4
mistune 0.8.4
mock 4.0.3
MouseInfo 0.1.3
nbclient 0.5.2
nbconvert 6.0.7
nbformat 5.1.2
nest-asyncio 1.5.1
notebook 6.2.0
numpy 1.16.5
opencv-python 4.5.1.48
openstep-parser 1.5.3
opt-einsum 3.3.0
packaging 20.9
pandas 1.2.2
pandocfilters 1.4.3
parso 0.8.1
pbxproj 2.5.1
pexpect 4.8.0
pickleshare 0.7.5
Pillow 8.1.0
pip 21.0.1
pkginfo 1.7.0
poyo 0.5.0
prometheus-client 0.9.0
prompt-toolkit 3.0.16
protobuf 3.14.0
ptyprocess 0.7.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
PyAutoGUI 0.9.50
pycocotools 2.0.2
pycparser 2.20
PyGetWindow 0.0.9
Pygments 2.7.4
PyJWT 2.0.1
PyMsgBox 1.0.9
pyobjc 6.2.1
pyobjc-core 6.2.1
pyobjc-framework-Accounts 6.2.1
pyobjc-framework-AddressBook 6.2.1
pyobjc-framework-AdSupport 6.2.1
pyobjc-framework-AppleScriptKit 6.2.1
pyobjc-framework-AppleScriptObjC 6.2.1
pyobjc-framework-ApplicationServices 6.2.1
pyobjc-framework-AuthenticationServices 6.2.1
pyobjc-framework-AutomaticAssessmentConfiguration 6.2.1
pyobjc-framework-Automator 6.2.1
pyobjc-framework-AVFoundation 6.2.1
pyobjc-framework-AVKit 6.2.1
pyobjc-framework-BusinessChat 6.2.1
pyobjc-framework-CalendarStore 6.2.1
pyobjc-framework-CFNetwork 6.2.1
pyobjc-framework-CloudKit 6.2.1
pyobjc-framework-Cocoa 6.2.1
pyobjc-framework-Collaboration 6.2.1
pyobjc-framework-ColorSync 6.2.1
pyobjc-framework-Contacts 6.2.1
pyobjc-framework-ContactsUI 6.2.1
pyobjc-framework-CoreAudio 6.2.1
pyobjc-framework-CoreAudioKit 6.2.1
pyobjc-framework-CoreBluetooth 6.2.1
pyobjc-framework-CoreData 6.2.1
pyobjc-framework-CoreHaptics 6.2.1
pyobjc-framework-CoreLocation 6.2.1
pyobjc-framework-CoreMedia 6.2.1
pyobjc-framework-CoreMediaIO 6.2.1
pyobjc-framework-CoreML 6.2.1
pyobjc-framework-CoreMotion 6.2.1
pyobjc-framework-CoreServices 6.2.1
pyobjc-framework-CoreSpotlight 6.2.1
pyobjc-framework-CoreText 6.2.1
pyobjc-framework-CoreWLAN 6.2.1
pyobjc-framework-CryptoTokenKit 6.2.1
pyobjc-framework-DeviceCheck 6.2.1
pyobjc-framework-DictionaryServices 6.2.1
pyobjc-framework-DiscRecording 6.2.1
pyobjc-framework-DiscRecordingUI 6.2.1
pyobjc-framework-DiskArbitration 6.2.1
pyobjc-framework-DVDPlayback 6.2.1
pyobjc-framework-EventKit 6.2.1
pyobjc-framework-ExceptionHandling 6.2.1
pyobjc-framework-ExecutionPolicy 6.2.1
pyobjc-framework-ExternalAccessory 6.2.1
pyobjc-framework-FileProvider 6.2.1
pyobjc-framework-FileProviderUI 6.2.1
pyobjc-framework-FinderSync 6.2.1
pyobjc-framework-FSEvents 6.2.1
pyobjc-framework-GameCenter 6.2.1
pyobjc-framework-GameController 6.2.1
pyobjc-framework-GameKit 6.2.1
pyobjc-framework-GameplayKit 6.2.1
pyobjc-framework-ImageCaptureCore 6.2.1
pyobjc-framework-IMServicePlugIn 6.2.1
pyobjc-framework-InputMethodKit 6.2.1
pyobjc-framework-InstallerPlugins 6.2.1
pyobjc-framework-InstantMessage 6.2.1
pyobjc-framework-Intents 6.2.1
pyobjc-framework-IOSurface 6.2.1
pyobjc-framework-iTunesLibrary 6.2.1
pyobjc-framework-LatentSemanticMapping 6.2.1
pyobjc-framework-LaunchServices 6.2.1
pyobjc-framework-libdispatch 6.2.1
pyobjc-framework-LinkPresentation 6.2.1
pyobjc-framework-LocalAuthentication 6.2.1
pyobjc-framework-MapKit 6.2.1
pyobjc-framework-MediaAccessibility 6.2.1
pyobjc-framework-MediaLibrary 6.2.1
pyobjc-framework-MediaPlayer 6.2.1
pyobjc-framework-MediaToolbox 6.2.1
pyobjc-framework-Metal 6.2.1
pyobjc-framework-MetalKit 6.2.1
pyobjc-framework-ModelIO 6.2.1
pyobjc-framework-MultipeerConnectivity 6.2.1
pyobjc-framework-NaturalLanguage 6.2.1
pyobjc-framework-NetFS 6.2.1
pyobjc-framework-Network 6.2.1
pyobjc-framework-NetworkExtension 6.2.1
pyobjc-framework-NotificationCenter 6.2.1
pyobjc-framework-OpenDirectory 6.2.1
pyobjc-framework-OSAKit 6.2.1
pyobjc-framework-OSLog 6.2.1
pyobjc-framework-PencilKit 6.2.1
pyobjc-framework-Photos 6.2.1
pyobjc-framework-PhotosUI 6.2.1
pyobjc-framework-PreferencePanes 6.2.1
pyobjc-framework-PushKit 6.2.1
pyobjc-framework-Quartz 6.2.1
pyobjc-framework-QuickLookThumbnailing 6.2.1
pyobjc-framework-SafariServices 6.2.1
pyobjc-framework-SceneKit 6.2.1
pyobjc-framework-ScreenSaver 6.2.1
pyobjc-framework-ScriptingBridge 6.2.1
pyobjc-framework-SearchKit 6.2.1
pyobjc-framework-Security 6.2.1
pyobjc-framework-SecurityFoundation 6.2.1
pyobjc-framework-SecurityInterface 6.2.1
pyobjc-framework-ServiceManagement 6.2.1
pyobjc-framework-Social 6.2.1
pyobjc-framework-SoundAnalysis 6.2.1
pyobjc-framework-Speech 6.2.1
pyobjc-framework-SpriteKit 6.2.1
pyobjc-framework-StoreKit 6.2.1
pyobjc-framework-SyncServices 6.2.1
pyobjc-framework-SystemConfiguration 6.2.1
pyobjc-framework-SystemExtensions 6.2.1
pyobjc-framework-UserNotifications 6.2.1
pyobjc-framework-VideoSubscriberAccount 6.2.1
pyobjc-framework-VideoToolbox 6.2.1
pyobjc-framework-Vision 6.2.1
pyobjc-framework-WebKit 6.2.1
pyparsing 2.4.7
pyperclip 1.8.2
PyQt5 5.12
PyQt5-sip 4.19.19
PyRect 0.1.4
pyrsistent 0.17.3
PyScreeze 0.1.26
python-dateutil 2.8.1
python-slugify 4.0.1
PyTweening 1.0.3
pytz 2021.1
pyzmq 22.0.3
qtconsole 5.0.2
QtPy 1.9.0
readme-renderer 29.0
requests 2.25.1
requests-toolbelt 0.9.1
rfc3986 1.4.0
rsa 4.7.2
rubicon-objc 0.4.0
scipy 1.6.0
Send2Trash 1.5.0
setuptools 53.0.0
sh 1.12.14
six 1.15.0
tensorboard 1.14.0
tensorflow 1.14.1
tensorflow-estimator 1.14.0
termcolor 1.1.0
terminado 0.9.2
testpath 0.4.4
text-unidecode 1.3
tf-slim 1.1.0
tflite-runtime 2.5.0
tinydb 4.4.0
tornado 6.1
tqdm 4.59.0
traitlets 5.0.5
twilio 6.46.0
twine 3.3.0
typing-extensions 3.7.4.3
uritemplate 3.0.1
urllib3 1.26.3
wcwidth 0.2.5
webencodings 0.5.1
Werkzeug 1.0.1
wheel 0.36.2
widgetsnbextension 3.5.1
wrapt 1.12.1
zipp 3.4.0

python3.7 toolchain.py recipes
audiostream master
click 7.1.2
curly master
cymunk master
ffmpeg n4.3.1
ffpyplayer 4.2.0
flask 1.1.2
freetype 2.5.5
host_setuptools3 54.1.2
hostlibffi 3.2.1
hostopenssl 1.1.1g
hostpython3 3.9.2
ios master
itsdangerous 1.1.0
jinja2 2.11.2
kivent_core master
kivy b5ec51ed2315a9a890f264b0df6d23c8e6341d42
libcurl 7.65.3
libffi 3.2.1
libjpeg v9a
libpng 1.6.26
libzbar 0.10
markupsafe 1.1.1
netifaces 0.10.9
numpy 1.16.4
openssl 1.1.1g
photolibrary master
pillow 6.1.0
plyer master
pycrypto 2.6.1
pykka 1.2.1
pyobjus master
python3 3.9.2
pyyaml 3.11
sdl2 7cc4fc886d9e
sdl2_image 2.0.4
sdl2_mixer 2.0.4
sdl2_ttf 2.0.14
werkzeug 1.0.1
zbarlight 1.2

emres-MacBook-Air:kivy-ios-master emre$ python3.7 toolchain.py status
audiostream - Not built
click - Not built
curly - Not built
cymunk - Not built
ffmpeg - Not built
ffpyplayer - Not built
flask - Not built
freetype - Build OK (built at 2021-03-29 19:16:13.139727)
host_setuptools - Not built
host_setuptools3 - Build OK (built at 2021-03-29 19:37:22.434551)
hostlibffi - Build OK (built at 2021-03-31 20:53:58.024916)
hostopenssl - Build OK (built at 2021-03-29 19:18:18.673672)
hostpython3 - Build OK (built at 2021-03-29 19:28:20.452712)
ios - Build OK (built at 2021-03-29 19:37:39.674279)
itsdangerous - Not built
jinja2 - Not built
kivent_core - Not built
kivy - Build OK (built at 2021-03-29 19:43:53.376505)
libcurl - Not built
libffi - Build OK (built at 2021-03-29 19:20:55.490678)
libjpeg - Not built
libpng - Not built
libzbar - Not built
markupsafe - Not built
netifaces - Not built
numpy - Not built
openssl - Build OK (built at 2021-03-29 19:23:26.620631)
photolibrary - Not built
pillow - Not built
plyer - Not built
pycrypto - Not built
pykka - Not built
pyobjus - Build OK (built at 2021-03-29 19:38:51.183926)
python3 - Build OK (built at 2021-03-29 19:37:13.653062)
pyyaml - Not built
sdl2 - Build OK (built at 2021-03-29 19:24:26.298797)
sdl2_image - Build OK (built at 2021-03-29 19:28:43.417565)
sdl2_mixer - Build OK (built at 2021-03-29 19:29:25.476809)
sdl2_ttf - Build OK (built at 2021-03-29 19:29:28.870168)
werkzeug - Not built
zbarlight - Not built

emre gunaydin

unread,
Apr 2, 2021, 12:57:23 PM4/2/21
to Kivy users support
Also following installation did not work:

emres-Air:kivy-ios-master emre$ python3.7 -m pip list

Package                                           Version

------------------------------------------------- -----------

absl-py                                           0.11.0

appnope                                           0.1.2

appscript                                         1.1.1

argon2-cffi                                       20.1.0

arrow                                             1.0.3

astor                                             0.8.1

async-generator                                   1.10

attrs                                             20.3.0

backcall                                          0.2.0

binaryornot                                       0.4.4

bleach                                            3.3.0

cached-property                                   1.5.2

cachetools                                        4.2.1

certifi                                           2020.12.5

cffi                                              1.14.5

chardet                                           4.0.0

click                                             7.1.2

colorama                                          0.4.4

contextlib2                                       0.6.0.post1

cookiecutter                                      1.7.2

cryptography                                      2.9.2

cycler                                            0.10.0

Cython                                            0.29.17

numpy                                             1.18.2

emres-Air:kivy-ios-master emre$ 



Robert

unread,
Apr 2, 2021, 5:02:25 PM4/2/21
to Kivy users support
Not a lot of kivy/ios experience here, you might try asking on Discord https://discord.gg/Sa7VTzHU

emre gunaydin

unread,
Apr 3, 2021, 9:09:01 AM4/3/21
to Kivy users support

thank you for the advice

samantha_o

unread,
Oct 27, 2021, 4:58:11 PM10/27/21
to Kivy users support
I am having the same issue with pandas, any luck? 

Or can you re-send that Discord invite? (the previous one is no longer valid)

Robert

unread,
Oct 27, 2021, 9:09:00 PM10/27/21
to Kivy users support

Nick Rodriguez

unread,
Nov 2, 2021, 12:51:43 PM11/2/21
to Kivy users support
Are the packages in the kivy-ios package folder?

Not sure I follow exactly, but I had/have ModuleNotFoundError: issue for almost all packages when I build in Xcode builds. What I have to do is after toolchain create <app name> <path>, I have to copy my environment packages (<project>/venv/lib/python3.9/site-packages) to the Kivy-ios build folder (kivy-ios/dist/root/python3/lib/python3.9).

I am not sure this completely resolves everything because I am still troubleshooting my own issue, but I saw this somewhere else and it seems to get me past ModuleNotFoundError for all my packages.

Nick Rodriguez

unread,
Nov 8, 2021, 8:02:18 AM11/8/21
to Kivy users support
My comment is wrong. You should not have to move any files into the Kivy environment. It should be either "toolchain build <recipe>" or "toolchain pip install <package>". I apologize for my comment. I only posted because it got me past error messages, but unfortunately it took me down a path that was a dead end. Good luck!
Reply all
Reply to author
Forward
0 new messages