nskrypnik / kivy3

3D graphics framework for Kivy.
MIT License
85 stars 43 forks source link

OBJLoader 'map' not subscriptable / setup.py not catching dependencies ? #23

Open ghost opened 7 years ago

ghost commented 7 years ago

Hi.

Although my issue seems local to my system (and therefore, maybe not a kivy3 bug), Kivy3's 'setup.py' should (imho ;) ) be made to catch such issue, so the eager and frustrated beginner can run the included examples, or be told why not - hence a submitted issue on Kivy3's 'setup.py'.

I first had an issue with: 'FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.6/site-packages/kivy3/default.glsl', so I had to try a copy from another source & a renamed simple.glsl. It didn't seem to make a difference which one, but it brought me a step closer, and i'm not really sure what i'm doing.

The following problem are consistent for all 3 exampleX.py files, over several pip/pacman re-install of Python 3.6, kivy 1.9.1 + 1.10, and this branch of kivy3. Python & kivy itself works. example1.py: (short code to reproduce issue)

import kivy3 from kivy.app import App from kivy3.loaders import OBJLoader from kivy.uix.floatlayout import FloatLayout class MainApp(App): def build(self): root = FloatLayout() loader = OBJLoader() obj = loader.load("./testnurbs.obj") # obj_path) return root if name == 'main': MainApp().run()

Traceback (most recent call last): File "/home/sims/Code/TAT/kivy3-master/examples/example1.py", line 12, in MainApp().run() File "/usr/lib/python3.6/site-packages/kivy/app.py", line 802, in run root = self.build() File "/home/sims/Code/TAT/kivy3-master/examples/example1.py", line 9, in build obj = loader.load("./testnurbs.obj") # obj_path) File "/usr/lib/python3.6/site-packages/kivy3/loaders/objloader.py", line 205, in load return super(OBJLoader, self).load(source, **kw) File "/usr/lib/python3.6/site-packages/kivy3/loaders/loader.py", line 71, in load return self.parse() File "/usr/lib/python3.6/site-packages/kivy3/loaders/objloader.py", line 212, in parse obj.add(wvobj.convert_to_mesh()) File "/usr/lib/python3.6/site-packages/kivy3/loaders/objloader.py", line 89, in convert_to_mesh tc = Vector2(t[0], 1. - t[1]) TypeError: 'map' object is not subscriptable

If it's an obvious dependency flaw, then perhaps a quick check for it in setup.py could trigger a warning, or something, and if it's a rare dependency flaw, then what's missing ? Thanks..

PS. looking forward to work with this library of fun-ness..

Sires0 commented 6 years ago

This repository is python2 only.