........EEE..EEE....E..EEEE.................EE......EE..E...EEE...E.EE.E.E...EEEEEE.EEE..EE.EE.E.EEEE./build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py:274: ResourceWarning: unclosed file <_io.BufferedReader name='/build/python-trimesh/src/trimesh-3.9.31/models/tube.obj'> args = f(file_obj=exists, file_type='YOYOMA.oBj') ResourceWarning: Enable tracemalloc to get the object allocation traceback /build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py:288: ResourceWarning: unclosed file <_io.BufferedReader name='/build/python-trimesh/src/trimesh-3.9.31/models/tube.obj'> args = f(file_obj=nonexists, file_type='.ObJ') ResourceWarning: Enable tracemalloc to get the object allocation traceback /usr/lib/python3.10/unittest/case.py:549: ResourceWarning: unclosed file <_io.BufferedReader name='/build/python-trimesh/src/trimesh-3.9.31/models/tube.obj'> method() ResourceWarning: Enable tracemalloc to get the object allocation traceback .E..EE/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py:165: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray. quads = np.asanyarray(quads) .EE......E....E....E.........E...EEE..E......E.E...................E..127.0.0.1 - - [04/Feb/2022 00:30:15] "GET /unit_cube.STL HTTP/1.1" 200 - /usr/lib/python3.10/contextlib.py:142: ResourceWarning: unclosed next(self.gen) ResourceWarning: Enable tracemalloc to get the object allocation traceback ..E.E.E.EEEE..EEEE..................E..../build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py:165: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray. quads = np.asanyarray(quads) ..EEEEEEEE.EEE.EEE...............EE..EE...EEEEEEEE..EEEEEE.EEEEE.........EEE....E.E..EEE.....................E.......E..EE.EF......EE....EEE..EEEE....EE.E.E127.0.0.1 - - [04/Feb/2022 00:33:06] "GET /fuze.obj HTTP/1.1" 200 - 127.0.0.1 - - [04/Feb/2022 00:33:06] "GET /fuze.obj.mtl HTTP/1.1" 200 - 127.0.0.1 - - [04/Feb/2022 00:33:06] "GET /fuze_uv.jpg HTTP/1.1" 200 - 127.0.0.1 - - [04/Feb/2022 00:33:06] "GET /fuze.zip HTTP/1.1" 200 - /usr/lib/python3.10/contextlib.py:142: ResourceWarning: unclosed next(self.gen) ResourceWarning: Enable tracemalloc to get the object allocation traceback ...E..E.E.E............E......E...E...................................E...E..E.....E. ====================================================================== ERROR: test_center (test_arc.ArcTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 11, in test_center from trimesh.path.arc import arc_center File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_center_random (test_arc.ArcTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 32, in test_center_random from trimesh.path.arc import arc_center File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_multiroot (test_arc.ArcTests) Test a Path2D object containing polygons nested in ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_none (test_base.MeshTests) Make sure mesh methods don't return None or crash. ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2834, in face_angles_sparse angles = curvature.face_angles_sparse(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/curvature.py", line 26, in face_angles_sparse matrix = coo_matrix(( NameError: name 'coo_matrix' is not defined ====================================================================== ERROR: test_validate (test_base.MeshTests) Make sure meshes with validation work ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_validate_inversion (test_base.MeshTests) Make sure inverted meshes are fixed by `validate=True` ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_2D (test_bounds.BoundsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 106, in test_2D T, rectangle = g.trimesh.bounds.oriented_bounds_2D(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 47, in oriented_bounds_2D convex = spatial.ConvexHull( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 14, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_cylinder (test_bounds.BoundsTest) Check bounding cylinders on basically a cuboid ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_obb_mesh (test_bounds.BoundsTest) Test the OBB functionality in attributes of Trimesh objects ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_obb_order (test_bounds.BoundsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_obb_points (test_bounds.BoundsTest) Test OBB functions with raw points as input ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 73, in test_obb_points to_origin, extents = g.trimesh.bounds.oriented_bounds(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 155, in oriented_bounds hull_obj = spatial.ConvexHull(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 106, in test_2D T, rectangle = g.trimesh.bounds.oriented_bounds_2D(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 47, in oriented_bounds_2D convex = spatial.ConvexHull( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 14, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_conversion (test_color.VisualTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_data_model (test_color.VisualTest) Test the probably too- magical color caching and storage ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_convex (test_convex.ConvexTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_primitives (test_convex.ConvexTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_copy (test_copy.CopyTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_copy.py", line 19, in test_copy mesh.kdtree File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1613, in kdtree from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_camera_marker (test_creation.CreationTest) Create a marker including FOV for a camera object ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_cone (test_creation.CreationTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_cylinder (test_creation.CreationTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_triangulate (test_creation.CreationTest) Test triangulate using meshpy and triangle ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_truncated (test_creation.CreationTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_gaussian_curvature (test_curvature.CurvatureTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_curvature.py", line 14, in test_gaussian_curvature gauss = g.trimesh.curvature.discrete_gaussian_curvature_measure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/curvature.py", line 79, in discrete_gaussian_curvature_measure nearest = mesh.kdtree.query_ball_point(points, radius) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1613, in kdtree from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_vertex_defect (test_curvature.CurvatureTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_curvature.py", line 43, in test_vertex_defect assert g.np.logical_or(g.np.isclose(m.vertex_defects, 0.0), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2852, in vertex_defects defects = curvature.vertex_defects(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/curvature.py", line 47, in vertex_defects angle_sum = np.array(mesh.face_angles_sparse.sum(axis=1)).flatten() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2834, in face_angles_sparse angles = curvature.face_angles_sparse(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/curvature.py", line 26, in face_angles_sparse matrix = coo_matrix(( NameError: name 'coo_matrix' is not defined ====================================================================== ERROR: test_export (test_dae.DAETest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_bulge (test_dxf.DXFTest) Test bulged polylines which are polylines with ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_dxf (test_dxf.DXFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 46, in test_dxf single = g.np.hstack(splits) File "<__array_function__ internals>", line 5, in hstack File "/usr/lib/python3.10/site-packages/numpy/core/shape_base.py", line 345, in hstack return _nx.concatenate(arrs, 1) File "<__array_function__ internals>", line 5, in concatenate ValueError: need at least one array to concatenate ====================================================================== ERROR: test_spline (test_dxf.DXFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_text (test_dxf.DXFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_unicode (test_dxf.DXFTest) Check our handling of unicode. Current approach is to ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_versions (test_dxf.DXFTest) DXF files have a bajillion versions, so test against ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_brle (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_composite (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_dense (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_flat (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 134, in test_flat self._test_dense(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_flipped (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 115, in test_flipped self._test_flipped(encoding, dense_data, ax) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 61, in _test_flipped self._test_dense(encoding.flip(axes), data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 910, in dense dense = self._data.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 134, in test_flat self._test_dense(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_reshape (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 145, in test_reshape self._test_dense( File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 785, in dense return self._data.dense.reshape(self.shape) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 115, in test_flipped self._test_flipped(encoding, dense_data, ax) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 61, in _test_flipped self._test_dense(encoding.flip(axes), data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 910, in dense dense = self._data.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 134, in test_flat self._test_dense(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_rle (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 98, in test_rle self._test_rle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 35, in _test_rle encoding.run_length_data(), rl.dense_to_rle(data)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 153, in run_length_data return rl.dense_to_rle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 145, in test_reshape self._test_dense( File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 785, in dense return self._data.dense.reshape(self.shape) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 115, in test_flipped self._test_flipped(encoding, dense_data, ax) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 61, in _test_flipped self._test_dense(encoding.flip(axes), data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 910, in dense dense = self._data.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 134, in test_flat self._test_dense(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_transpose (test_encoding.EncodingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 126, in test_transpose self._test_transpose(encoding, dense_data, perm) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 45, in _test_transpose self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 98, in test_rle self._test_rle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 35, in _test_rle encoding.run_length_data(), rl.dense_to_rle(data)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 153, in run_length_data return rl.dense_to_rle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 145, in test_reshape self._test_dense( File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 785, in dense return self._data.dense.reshape(self.shape) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 115, in test_flipped self._test_flipped(encoding, dense_data, ax) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 61, in _test_flipped self._test_dense(encoding.flip(axes), data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 910, in dense dense = self._data.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 134, in test_flat self._test_dense(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_dict (test_export.ExportTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_export (test_export.ExportTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_gltf_path (test_export.ExportTest) Check to make sure GLTF exports of Path2D and Path3D ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_obj (test_export.ExportTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_scene (test_export.ExportTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_facet (test_facets.FacetTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_fill (test_fill.FillTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_basic (test_gltf.GLTFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_buffer_dedupe (test_gltf.GLTFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_extras (test_gltf.GLTFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_merge_buffers (test_gltf.GLTFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_node_name (test_gltf.GLTFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_vertex_colors (test_gltf.GLTFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_components (test_graph.GraphTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_engine_time (test_graph.GraphTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_engines (test_graph.GraphTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 112, in test_engines check_engines(nodes=g.np.arange(i), File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 255, in check_engines c = g.trimesh.graph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_traversals (test_graph.GraphTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 150, in test_traversals dfs_basic = g.trimesh.graph.traversals(edges, 'dfs') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 644, in traversals func = csgraph.depth_first_order File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 112, in test_engines check_engines(nodes=g.np.arange(i), File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 255, in check_engines c = g.trimesh.graph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_cluster (test_grouping.GroupTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_grouping.py", line 201, in test_cluster assert len(g.trimesh.grouping.clusters(points, .01)) > 0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/grouping.py", line 694, in clusters tree = cKDTree(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/grouping.py", line 15, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_group_vector (test_grouping.GroupTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_grouping.py", line 249, in test_group_vector uv, ui = g.trimesh.grouping.group_vectors(vec) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/grouping.py", line 628, in group_vectors angles, groups = group_distance(spherical, angle) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/grouping.py", line 658, in group_distance tree = cKDTree(values) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_grouping.py", line 201, in test_cluster assert len(g.trimesh.grouping.clusters(points, .01)) > 0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/grouping.py", line 694, in clusters tree = cKDTree(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/grouping.py", line 15, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_fileobj (test_loaded.LoaderTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_medial (test_medial.MedialTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_meshes (test_mesh.MeshTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_svg (test_meta.MetaTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_not_mutated_bunny (test_mutate.MutateTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_not_mutated_cube (test_mutate.MutateTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_not_mutated_teapot (test_mutate.MutateTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_not_mutated_torus (test_mutate.MutateTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_vertex_normal (test_normals.NormalsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 32, in test_vertex_normal assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_weighted_vertex_normals (test_normals.NormalsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 68, in test_weighted_vertex_normals compare_trimesh_to_groundtruth(ico_mesh, ico_truth) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 60, in compare_trimesh_to_groundtruth assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 32, in test_vertex_normal assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_isnsphere (test_nsphere.NSphereTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 45, in test_isnsphere assert g.trimesh.nsphere.is_nsphere(m.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 189, in is_nsphere center, radius, error = fit_nsphere(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 162, in fit_nsphere center_result, return_code = leastsq(residuals, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 17, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_minball (test_nsphere.NSphereTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_scene (test_obj.OBJTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_obj.py", line 209, in test_scene g.io_wrap(s.export(file_type='obj')), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 233, in export_scene data = export_obj(scene, resolver=resolver) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/obj.py", line 810, in export_obj len(mesh.visual.vertex_colors)): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 68, in test_weighted_vertex_normals compare_trimesh_to_groundtruth(ico_mesh, ico_truth) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 60, in compare_trimesh_to_groundtruth assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 32, in test_vertex_normal assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_add (test_operators.OpTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_obb (test_packing.PackingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_packing.py", line 14, in test_obb from trimesh.path import packing File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_paths (test_packing.PackingTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_packing.py", line 18, in test_paths from trimesh.path import packing File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_circle (test_path_creation.CreationTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 22, in test_circle from trimesh.path import creation File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_circle_pattern (test_path_creation.CreationTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 10, in test_circle_pattern from trimesh.path import creation File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_grid (test_path_creation.CreationTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 60, in test_grid grid = g.trimesh.path.creation.grid(side=5.0) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_rect (test_path_creation.CreationTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 39, in test_rect from trimesh.path import creation File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_full_filetype (test_pathlib.PathTest) Test loading with file types specified as ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_section (test_paths.SectionTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_split (test_paths.SplitTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_color (test_paths.VectorTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_empty (test_paths.VectorTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 181, in test_empty p = g.trimesh.path.Path2D() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 60, in test_grid grid = g.trimesh.path.creation.grid(side=5.0) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_poly (test_paths.VectorTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_text (test_paths.VectorTests) Do some checks on Text entities ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_kmeans (test_points.PointsTest) Test K-means clustering ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 128, in test_kmeans centroids, klabel = g.trimesh.points.k_means(points=clustered, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 247, in k_means from scipy.cluster.vq import kmeans ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_obb (test_points.PointsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 188, in test_obb matrix = p.apply_obb() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 272, in apply_obb matrix = self.bounding_box_oriented.primitive.transform File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_pointcloud (test_points.PointsTest) Test PointCloud object ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 27, in test_pointcloud assert cloud.convex_hull.volume > 0.0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 188, in test_obb matrix = p.apply_obb() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 272, in apply_obb matrix = self.bounding_box_oriented.primitive.transform File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_remove_close (test_points.PointsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 224, in test_remove_close culled, mask = g.trimesh.points.remove_close(g.np.vstack((p, p)), radius=0.1) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 194, in remove_close from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_edges (test_polygons.PolygonTests) Test edges_to_polygon ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 28, in test_edges polygon = g.trimesh.path.polygons.edges_to_polygons( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 181, in test_empty p = g.trimesh.path.Path2D() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 60, in test_grid grid = g.trimesh.path.creation.grid(side=5.0) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_project (test_polygons.PolygonTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in test_project p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 28, in test_edges polygon = g.trimesh.path.polygons.edges_to_polygons( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 181, in test_empty p = g.trimesh.path.Path2D() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 60, in test_grid grid = g.trimesh.path.creation.grid(side=5.0) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_random_polygon (test_polygons.PolygonTests) Test creation of random polygons ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 47, in test_random_polygon p = g.trimesh.path.polygons.random_polygon() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in test_project p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 28, in test_edges polygon = g.trimesh.path.polygons.edges_to_polygons( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 181, in test_empty p = g.trimesh.path.Path2D() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 60, in test_grid grid = g.trimesh.path.creation.grid(side=5.0) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_sample (test_polygons.PolygonTests) Test random sampling of polygons ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 59, in test_sample s = g.trimesh.path.polygons.sample(p, count=count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 47, in test_random_polygon p = g.trimesh.path.polygons.random_polygon() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in test_project p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 28, in test_edges polygon = g.trimesh.path.polygons.edges_to_polygons( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 181, in test_empty p = g.trimesh.path.Path2D() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 60, in test_grid grid = g.trimesh.path.creation.grid(side=5.0) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_multiple (test_poses.PosesTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 36, in test_multiple trans, probs = copied.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 27, in test_pointcloud assert cloud.convex_hull.volume > 0.0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 188, in test_obb matrix = p.apply_obb() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 272, in apply_obb matrix = self.bounding_box_oriented.primitive.transform File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_nonsampling_poses (test_poses.PosesTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 13, in test_nonsampling_poses trans, probs = mesh.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 36, in test_multiple trans, probs = copied.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 27, in test_pointcloud assert cloud.convex_hull.volume > 0.0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 188, in test_obb matrix = p.apply_obb() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 272, in apply_obb matrix = self.bounding_box_oriented.primitive.transform File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_round (test_poses.PosesTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 50, in test_round transforms, probabilities = mesh.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 13, in test_nonsampling_poses trans, probs = mesh.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 36, in test_multiple trans, probs = copied.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 27, in test_pointcloud assert cloud.convex_hull.volume > 0.0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 188, in test_obb matrix = p.apply_obb() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 272, in apply_obb matrix = self.bounding_box_oriented.primitive.transform File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_box (test_primitives.PrimitiveTest) Test the setter on box primitives ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 145, in test_box assert g.np.allclose(box.as_outline().extents, start) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/primitives.py", line 617, in as_outline from .path.creation import box_outline File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_sample (test_primitives.PrimitiveTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_acute_edge_case (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_candidates (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_coplanar_signed_distance (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_edge_case (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_helper (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_nearest_naive (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_noncoplanar_signed_distance (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_returns_correct_point_in_ambiguous_cases (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_unreferenced_vertex (test_proximity.NearestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 247, in test_unreferenced_vertex q = proximity_query.on_surface([query_point]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_rasterize (test_raster.RasterTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_icp_mesh (test_registration.RegistrationTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 33, in test_icp_mesh matrix, transformed, cost = g.trimesh.registration.icp( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 247, in test_unreferenced_vertex q = proximity_query.on_surface([query_point]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_icp_points (test_registration.RegistrationTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 55, in test_icp_points matrixN, transformed, cost = g.trimesh.registration.icp(points_b, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 308, in icp btree = cKDTree(b) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_mesh (test_registration.RegistrationTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 85, in test_mesh a_to_b, cost = a.register(b) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1831, in register mesh_to_other, cost = registration.mesh_other(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 144, in mesh_other matrix, junk, cost = icp(a=points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 33, in test_icp_mesh matrix, transformed, cost = g.trimesh.registration.icp( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 247, in test_unreferenced_vertex q = proximity_query.on_surface([query_point]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_args (test_render.RenderTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_render.py", line 25, in test_args args = rendering.convert_to_vertexlist(m) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 34, in convert_to_vertexlist return mesh_to_vertexlist(geometry, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 121, in mesh_to_vertexlist normals = mesh.vertex_normals.reshape(-1).tolist() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_obj.py", line 209, in test_scene g.io_wrap(s.export(file_type='obj')), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 233, in export_scene data = export_obj(scene, resolver=resolver) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/obj.py", line 810, in export_obj len(mesh.visual.vertex_colors)): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 68, in test_weighted_vertex_normals compare_trimesh_to_groundtruth(ico_mesh, ico_truth) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 60, in compare_trimesh_to_groundtruth assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 32, in test_vertex_normal assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_fix_normals (test_repair.RepairTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 63, in test_fix_normals mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 150, in test_traversals dfs_basic = g.trimesh.graph.traversals(edges, 'dfs') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 644, in traversals func = csgraph.depth_first_order File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 112, in test_engines check_engines(nodes=g.np.arange(i), File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 255, in check_engines c = g.trimesh.graph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_multi (test_repair.RepairTests) Try repairing a multibody geometry ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 151, in test_multi m.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 63, in test_fix_normals mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 150, in test_traversals dfs_basic = g.trimesh.graph.traversals(edges, 'dfs') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 644, in traversals func = csgraph.depth_first_order File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 112, in test_engines check_engines(nodes=g.np.arange(i), File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 255, in check_engines c = g.trimesh.graph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_winding (test_repair.RepairTests) Reverse some faces and make sure fix_face_winding flips ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 96, in test_winding mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 151, in test_multi m.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 63, in test_fix_normals mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 150, in test_traversals dfs_basic = g.trimesh.graph.traversals(edges, 'dfs') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 644, in traversals func = csgraph.depth_first_order File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 112, in test_engines check_engines(nodes=g.np.arange(i), File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 255, in check_engines c = g.trimesh.graph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_repr (test_repr.ReprTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repr.py", line 27, in test_repr p = g.trimesh.path.creation.rectangle([[0, 0], [1, 1]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 59, in test_sample s = g.trimesh.path.polygons.sample(p, count=count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 47, in test_random_polygon p = g.trimesh.path.polygons.random_polygon() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in test_project p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 91, in p = [g.trimesh.path.polygons.projected(m, normal=n) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_polygons.py", line 28, in test_edges polygon = g.trimesh.path.polygons.edges_to_polygons( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 181, in test_empty p = g.trimesh.path.Path2D() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_path_creation.py", line 60, in test_grid grid = g.trimesh.path.creation.grid(side=5.0) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 683, in test_bulk if isinstance(geom, g.trimesh.path.path.Path): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 103, in test_camera_marker g.trimesh.path.Path3D)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/__init__.py", line 40, in from . import path File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_sample (test_sample.SampleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_sample.py", line 15, in test_sample distance = m.nearest.signed_distance(samples) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 85, in test_mesh a_to_b, cost = a.register(b) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1831, in register mesh_to_other, cost = registration.mesh_other(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 144, in mesh_other matrix, junk, cost = icp(a=points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 33, in test_icp_mesh matrix, transformed, cost = g.trimesh.registration.icp( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 247, in test_unreferenced_vertex q = proximity_query.on_surface([query_point]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_dupe (test_scene.SceneTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 208, in test_dupe assert m.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 96, in test_winding mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 151, in test_multi m.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 63, in test_fix_normals mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 150, in test_traversals dfs_basic = g.trimesh.graph.traversals(edges, 'dfs') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 644, in traversals func = csgraph.depth_first_order File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 112, in test_engines check_engines(nodes=g.np.arange(i), File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 255, in check_engines c = g.trimesh.graph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_scaling (test_scene.SceneTests) Test the scaling of scenes including unit conversion. ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 116, in test_scaling extents = scene.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 820, in convex_hull hull = convex.convex_hull(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 50, in test_round transforms, probabilities = mesh.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 13, in test_nonsampling_poses trans, probs = mesh.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 36, in test_multiple trans, probs = copied.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 27, in test_pointcloud assert cloud.convex_hull.volume > 0.0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 188, in test_obb matrix = p.apply_obb() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 272, in apply_obb matrix = self.bounding_box_oriented.primitive.transform File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_scene (test_scene.SceneTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 80, in test_scene gltf = s.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_render.py", line 25, in test_args args = rendering.convert_to_vertexlist(m) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 34, in convert_to_vertexlist return mesh_to_vertexlist(geometry, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 121, in mesh_to_vertexlist normals = mesh.vertex_normals.reshape(-1).tolist() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_obj.py", line 209, in test_scene g.io_wrap(s.export(file_type='obj')), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 233, in export_scene data = export_obj(scene, resolver=resolver) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/obj.py", line 810, in export_obj len(mesh.visual.vertex_colors)): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 68, in test_weighted_vertex_normals compare_trimesh_to_groundtruth(ico_mesh, ico_truth) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 60, in compare_trimesh_to_groundtruth assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 32, in test_vertex_normal assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_tri (test_scene.SceneTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_multi_index (test_section.SectionTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_section (test_section.SectionTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 45, in test_section section = mesh.section(plane_origin=plane_origin, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_colinear (test_segments.SegmentsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 35, in test_colinear from trimesh.path import segments File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_extrude (test_segments.SegmentsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 59, in test_extrude path = g.trimesh.load_path(seg) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 45, in test_section section = mesh.section(plane_origin=plane_origin, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_param (test_segments.SegmentsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 10, in test_param from trimesh.path import segments File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_simplify (test_simplify.SimplifyTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_simplify.py", line 54, in test_simplify original = g.get_mesh(file_name) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 59, in test_extrude path = g.trimesh.load_path(seg) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 45, in test_section section = mesh.section(plane_origin=plane_origin, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_spline (test_simplify.SimplifyTest) Test basic spline simplification of Path2D objects ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_simplify.py", line 78, in test_spline path_3D = m.outline(m.facets[m.facets_area.argmax()]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2492, in outline from .path import Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_smooth (test_smoothing.SmoothTest) Load a collada scene with pycollada. ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_smoothing.py", line 26, in test_smooth lap = g.trimesh.smoothing.laplacian_calculation( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/smoothing.py", line 310, in laplacian_calculation matrix = coo_matrix((data, (row, col)), NameError: name 'coo_matrix' is not defined ====================================================================== ERROR: test_bezier_example (test_splines.SplineTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_splines.py", line 11, in test_bezier_example p = g.get_mesh('2D/MIL.svg') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_simplify.py", line 54, in test_simplify original = g.get_mesh(file_name) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 59, in test_extrude path = g.trimesh.load_path(seg) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 45, in test_section section = mesh.section(plane_origin=plane_origin, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_layer (test_svg.ExportTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_svg.py", line 37, in test_layer a = g.trimesh.load_path(Point([0, 0]).buffer(1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_splines.py", line 11, in test_bezier_example p = g.get_mesh('2D/MIL.svg') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_simplify.py", line 54, in test_simplify original = g.get_mesh(file_name) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 59, in test_extrude path = g.trimesh.load_path(seg) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 45, in test_section section = mesh.section(plane_origin=plane_origin, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_roundtrip (test_svg.ExportTest) Check to make sure a roundtrip from both a Scene and a ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_svg.py", line 113, in test_roundtrip p = g.get_mesh('2D/250_cycloidal.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_svg.py", line 37, in test_layer a = g.trimesh.load_path(Point([0, 0]).buffer(1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_splines.py", line 11, in test_bezier_example p = g.get_mesh('2D/MIL.svg') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_simplify.py", line 54, in test_simplify original = g.get_mesh(file_name) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 59, in test_extrude path = g.trimesh.load_path(seg) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 45, in test_section section = mesh.section(plane_origin=plane_origin, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_trans (test_svg.ExportTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_svg.py", line 75, in test_trans from trimesh.path.exchange.svg_io import transform_to_matrices as tf File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_concatenate (test_texture.TextureTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_texture.py", line 144, in test_concatenate assert len(c.visual.uv) == len(c.vertices) AttributeError: 'ColorVisuals' object has no attribute 'uv' ====================================================================== ERROR: test_to_tex (test_texture.TextureTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_texture.py", line 154, in test_to_tex m.visual = m.visual.to_texture() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 453, in to_texture mat, uv = from_color(vertex_colors=self.vertex_colors) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 80, in test_scene gltf = s.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_render.py", line 25, in test_args args = rendering.convert_to_vertexlist(m) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 34, in convert_to_vertexlist return mesh_to_vertexlist(geometry, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 121, in mesh_to_vertexlist normals = mesh.vertex_normals.reshape(-1).tolist() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_obj.py", line 209, in test_scene g.io_wrap(s.export(file_type='obj')), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 233, in export_scene data = export_obj(scene, resolver=resolver) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/obj.py", line 810, in export_obj len(mesh.visual.vertex_colors)): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 68, in test_weighted_vertex_normals compare_trimesh_to_groundtruth(ico_mesh, ico_truth) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 60, in compare_trimesh_to_groundtruth assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 32, in test_vertex_normal assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_known (test_thickness.ThicknessTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_thickness.py", line 93, in test_known rs = g.trimesh.proximity.thickness(mesh=m, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 564, in thickness normals = mesh.face_normals[closest_point(mesh, points)[2]] File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_sample.py", line 15, in test_sample distance = m.nearest.signed_distance(samples) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 85, in test_mesh a_to_b, cost = a.register(b) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1831, in register mesh_to_other, cost = registration.mesh_other(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 144, in mesh_other matrix, junk, cost = icp(a=points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 33, in test_icp_mesh matrix, transformed, cost = g.trimesh.registration.icp( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 247, in test_unreferenced_vertex q = proximity_query.on_surface([query_point]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_ray_thickness (test_thickness.ThicknessTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_thickness.py", line 50, in test_ray_thickness point_thickness = g.trimesh.proximity.thickness( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 564, in thickness normals = mesh.face_normals[closest_point(mesh, points)[2]] File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_thickness.py", line 93, in test_known rs = g.trimesh.proximity.thickness(mesh=m, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 564, in thickness normals = mesh.face_normals[closest_point(mesh, points)[2]] File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_sample.py", line 15, in test_sample distance = m.nearest.signed_distance(samples) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 85, in test_mesh a_to_b, cost = a.register(b) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1831, in register mesh_to_other, cost = registration.mesh_other(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 144, in mesh_other matrix, junk, cost = icp(a=points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 33, in test_icp_mesh matrix, transformed, cost = g.trimesh.registration.icp( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 247, in test_unreferenced_vertex q = proximity_query.on_surface([query_point]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_sphere_thickness (test_thickness.ThicknessTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_thickness.py", line 15, in test_sphere_thickness thickness = g.trimesh.proximity.thickness( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 567, in thickness centers, radius = max_tangent_sphere(mesh=mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 492, in max_tangent_sphere n_points, n_dists, n_faces = mesh.nearest.on_surface( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_thickness.py", line 50, in test_ray_thickness point_thickness = g.trimesh.proximity.thickness( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 564, in thickness normals = mesh.face_normals[closest_point(mesh, points)[2]] File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_thickness.py", line 93, in test_known rs = g.trimesh.proximity.thickness(mesh=m, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 564, in thickness normals = mesh.face_normals[closest_point(mesh, points)[2]] File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_sample.py", line 15, in test_sample distance = m.nearest.signed_distance(samples) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 85, in test_mesh a_to_b, cost = a.register(b) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1831, in register mesh_to_other, cost = registration.mesh_other(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 144, in mesh_other matrix, junk, cost = icp(a=points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_registration.py", line 33, in test_icp_mesh matrix, transformed, cost = g.trimesh.registration.icp( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/registration.py", line 321, in icp closest, distance, faces = b.nearest.on_surface(a) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 247, in test_unreferenced_vertex q = proximity_query.on_surface([query_point]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 228, in test_returns_correct_point_in_ambiguous_cases closest, _, closest_face_index = g.trimesh.proximity.closest_point( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 179, in test_noncoplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 100, 100]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 56, in test_nearest_naive p, d = self.check_nearest_point_function(i) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 104, in check_nearest_point_function result, result_distance, result_tid = fun(mesh, query) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 41, in test_helper a = mesh.nearest.on_surface(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 185, in test_edge_case assert (mesh.nearest.signed_distance([[-51, 4.7, -20.6]]) < 0.0).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 161, in test_coplanar_signed_distance distance = mesh.nearest.signed_distance([mesh.bounds[0] + [100, 0, 0]]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 213, in test_candidates g.trimesh.proximity.nearby_faces( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_proximity.py", line 205, in test_acute_edge_case faceIdxsA, faceIdxsB = g.np.split(mesh.nearest.on_surface(pts)[-1], 2) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 313, in on_surface return closest_point(mesh=self._mesh, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_primitives.py", line 131, in test_sample assert (box.nearest.signed_distance(grid) > -1e-6).all() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 353, in signed_distance return signed_distance(self._mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 242, in signed_distance closest, distance, triangle_id = closest_point(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 146, in closest_point candidates = nearby_faces(mesh, points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 53, in nearby_faces kdtree = cKDTree(mesh.vertices[mesh.referenced_vertices]) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/proximity.py", line 17, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_tiny (test_transformations.TransformTest) Test transformations with models containing ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_transformations.py", line 147, in test_tiny m = g.get_mesh('ADIS16480.STL', validate=validate) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 208, in test_dupe assert m.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 96, in test_winding mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 151, in test_multi m.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_repair.py", line 63, in test_fix_normals mesh.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 150, in test_traversals dfs_basic = g.trimesh.graph.traversals(edges, 'dfs') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 644, in traversals func = csgraph.depth_first_order File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 112, in test_engines check_engines(nodes=g.np.arange(i), File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 255, in check_engines c = g.trimesh.graph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 88, in test_engine_time mesh.split(engine=engine, only_watertight=False) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_graph.py", line 43, in test_components split = mult.split(only_watertight=False, engine=engine) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1289, in split return graph.split(self, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 340, in split components = connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 443, in connected_components return engines[engine]() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 276, in test_truncated assert m.body_count == count File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 30, in test_cylinder assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 20, in test_cone assert c.body_count == 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 449, in connected_components return function() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 391, in components_csgraph labels = connected_component_labels(edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 472, in connected_component_labels matrix = edges_to_coo(edges, node_count) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 58, in test_validate_inversion fixed_mesh = g.Trimesh(orig_verts, inv_faces, validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 26, in test_validate m = g.get_mesh('featuretype.STL', validate=True) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 126, in load loaded = load_mesh(file_obj, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 218, in load_mesh loaded.append(load_kwargs(kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 500, in load_kwargs return handler() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 445, in handle_mesh return Trimesh(**kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 192, in __init__ self.process(validate=validate, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 234, in process self.fix_normals() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/constants.py", line 146, in timed result = method(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1789, in fix_normals multibody = self.body_count > 1 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 967, in edges_sparse sparse = graph.edges_to_coo(self.edges, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 712, in edges_to_coo matrix = coo_matrix((data, edges.T), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 984, in body_count count, labels = graph.csgraph.connected_components( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/graph.py", line 22, in from scipy.sparse import csgraph, coo_matrix ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_path (test_units.UnitsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_units.py", line 58, in test_path p = g.get_mesh('2D/tray-easy1.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_svg.py", line 113, in test_roundtrip p = g.get_mesh('2D/250_cycloidal.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_svg.py", line 37, in test_layer a = g.trimesh.load_path(Point([0, 0]).buffer(1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_splines.py", line 11, in test_bezier_example p = g.get_mesh('2D/MIL.svg') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_simplify.py", line 54, in test_simplify original = g.get_mesh(file_name) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_segments.py", line 59, in test_extrude path = g.trimesh.load_path(seg) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 45, in test_section section = mesh.section(plane_origin=plane_origin, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_section.py", line 123, in test_multi_index multi = mesh.section_multiplane(origin, normal, heights) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2152, in section_multiplane paths[i] = load_path( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 274, in test_tri node = scene.add_geometry(g.get_mesh('2D/wrench.dxf')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_raster.py", line 10, in test_rasterize p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 161, in test_text p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 117, in test_poly p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 195, in test_color p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 219, in test_split p = g.get_mesh(fn) File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_paths.py", line 249, in test_section section = mesh.section(plane_origin=mesh.center_mass, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_pathlib.py", line 61, in test_full_filetype path = g.trimesh.load_path(file_obj=file_name, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_operators.py", line 20, in test_add p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_meta.py", line 54, in test_svg p = g.get_mesh('2D/1002_tray_bottom.DXF') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_medial.py", line 10, in test_medial p = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_loaded.py", line 62, in test_fileobj path = g.trimesh.load( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 682, in test_bulk geom = g.trimesh.load(path_in) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_fill.py", line 12, in test_fill a = g.get_mesh('2D/broken_loop.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 242, in test_gltf_path path2D = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 107, in test_versions paths[f] = g.trimesh.load(ff) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 197, in test_unicode m = g.get_mesh('2D/wrench.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 161, in test_text original = g.get_mesh('2D/text.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 70, in test_spline d = g.get_mesh('2D/cycloidal.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dxf.py", line 145, in test_bulge p = g.get_mesh('2D/LM2.dxf') File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_creation.py", line 232, in test_triangulate bench = g.get_mesh('2D/wrench.dxf').polygons_full[0] File "/build/python-trimesh/src/trimesh-3.9.31/tests/generic.py", line 184, in get_mesh meshes.append(trimesh.load(location, **kwargs)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 145, in load load_path() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_arc.py", line 90, in test_multiroot s = m.section(plane_normal=[0, 0, 1], File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2104, in section path = load_path(lines) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 48, in failed raise exc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/load.py", line 31, in from ..path.exchange.load import load_path, path_formats File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/__init__.py", line 9, in from .path import Path2D, Path3D File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/path.py", line 32, in from . import repair File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/path/repair.py", line 11, in from scipy.spatial import cKDTree ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_export (test_urdf.URDFTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/urdf.py", line 51, in export_urdf convex_pieces = convex_decomposition(mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/decomposition.py", line 23, in convex_decomposition raise ValueError('convex compositions require testVHACD installed!') ValueError: convex compositions require testVHACD installed! During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_urdf.py", line 24, in test_export urdf.export_urdf(mesh=mesh, directory=out_dir) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/urdf.py", line 57, in export_urdf convex_pieces = [mesh.convex_hull] File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 116, in test_scaling extents = scene.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 820, in convex_hull hull = convex.convex_hull(points) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 50, in test_round transforms, probabilities = mesh.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 13, in test_nonsampling_poses trans, probs = mesh.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_poses.py", line 36, in test_multiple trans, probs = copied.compute_stable_poses() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1882, in compute_stable_poses return poses.compute_stable_poses(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/poses.py", line 72, in compute_stable_poses cvh = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 27, in test_pointcloud assert cloud.convex_hull.volume > 0.0 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_points.py", line 188, in test_obb matrix = p.apply_obb() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 272, in apply_obb matrix = self.bounding_box_oriented.primitive.transform File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/points.py", line 607, in convex_hull return convex.convex_hull(self.vertices) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_nsphere.py", line 18, in test_minball s = m.bounding_sphere File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/comparison.py", line 99, in identifier_simple hull = mesh.convex_hull File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_facets.py", line 16, in test_facet assert len(m.facets) == len(m.facets_on_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 1758, in facets_on_hull convex = self.convex_hull.vertices.view(np.ndarray).copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 69, in test_primitives assert g.np.isclose(tess.convex_hull.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_convex.py", line 26, in test_convex hulls.append(permutated.convex_hull) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 217, in test_obb_order obb = b.bounding_box_oriented File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 29, in test_obb_mesh box_ext = m.bounding_box_oriented.primitive.extents.copy() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_bounds.py", line 153, in test_cylinder assert g.np.isclose(mesh.bounding_cylinder.volume, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 234, in bounding_cylinder kwargs = bounds.minimum_cylinder(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 341, in minimum_cylinder hull = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 217, in bounding_sphere center, radius = nsphere.minimum_nsphere(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/nsphere.py", line 61, in minimum_nsphere points = convex.hull_points(obj) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 212, in hull_points if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 252, in bounding_primitive options = [self.bounding_box_oriented, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_base.py", line 80, in test_none res = eval(expr) File "", line 1, in File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/parent.py", line 194, in bounding_box_oriented to_origin, extents = bounds.oriented_bounds(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/bounds.py", line 141, in oriented_bounds if hasattr(obj, 'convex_hull'): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2256, in convex_hull hull = convex.convex_hull(self) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 58, in convex_hull hull = spatial.ConvexHull(points, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/convex.py", line 21, in from scipy import spatial ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_vertex_faces (test_vertices.VerticesTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_vertices.py", line 17, in test_vertex_faces vertex_faces = m.vertex_faces File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 517, in vertex_faces faces_sparse=self.faces_sparse) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_texture.py", line 154, in test_to_tex m.visual = m.visual.to_texture() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 453, in to_texture mat, uv = from_color(vertex_colors=self.vertex_colors) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 80, in test_scene gltf = s.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_render.py", line 25, in test_args args = rendering.convert_to_vertexlist(m) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 34, in convert_to_vertexlist return mesh_to_vertexlist(geometry, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/rendering.py", line 121, in mesh_to_vertexlist normals = mesh.vertex_normals.reshape(-1).tolist() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_obj.py", line 209, in test_scene g.io_wrap(s.export(file_type='obj')), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 233, in export_scene data = export_obj(scene, resolver=resolver) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/obj.py", line 810, in export_obj len(mesh.visual.vertex_colors)): File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 68, in test_weighted_vertex_normals compare_trimesh_to_groundtruth(ico_mesh, ico_truth) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 60, in compare_trimesh_to_groundtruth assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 379, in weighted_vertex_normals return util.unitize(summed_sparse()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 349, in summed_sparse matrix = index_sparse(vertex_count, faces).astype(np.float64) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_normals.py", line 32, in test_vertex_normal assert mesh.faces_sparse is not None File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 296, in mean_vertex_normals summed = summed_sparse() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 281, in summed_sparse matrix = index_sparse(vertex_count, faces) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 58, in test_not_mutated_torus self._test_not_mutated(*get_readonly('torus.STL')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 64, in test_not_mutated_teapot self._test_not_mutated(*get_readonly('teapot.stl')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 55, in test_not_mutated_cube self._test_not_mutated(*get_readonly('cube.OBJ')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 61, in test_not_mutated_bunny self._test_not_mutated(*get_readonly('bunny.ply')) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mutate.py", line 71, in _test_not_mutated mesh.faces_sparse File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_mesh.py", line 34, in test_meshes assert mesh.vertex_normals.shape == mesh.vertices.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 592, in test_vertex_colors export = m.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 376, in test_node_name export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 222, in test_merge_buffers export = scene.export(file_type='gltf', merge_buffers=True) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 465, in test_extras export = s.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 105, in test_buffer_dedupe a = g.json.loads(scene.export( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_gltf.py", line 190, in test_basic export = scene.export(file_type='gltf') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 225, in export_scene data = export_gltf(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 103, in export_gltf tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 228, in test_scene export = source.export(file_type='glb') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/scene/scene.py", line 843, in export return export.export_scene( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 227, in export_scene data = export_glb(scene, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 179, in export_glb tree, buffer_items = _create_gltf_structure( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 604, in _create_gltf_structure _append_mesh( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/gltf.py", line 720, in _append_mesh vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 190, in test_obj assert m.vertex_normals.shape == reconstructed.vertex_normals.shape File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 26, in test_export export = mesh.export(file_type=file_type) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_export.py", line 216, in test_dict mesh.visual.vertex_colors = mesh.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_dae.py", line 46, in test_export r = a.export(file_type='dae') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 2668, in export return export_mesh(mesh=self, File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/export.py", line 82, in export_mesh export = _mesh_exporters[file_type](mesh, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exchange/dae.py", line 102, in export_collada 'normals-array', m.vertex_normals.flatten(), ('X', 'Y', 'Z')) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 473, in vertex_normals assert hasattr(self.faces_sparse, 'dot') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 81, in test_data_model assert bool((m.visual.vertex_colors == test_color).all()) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_color.py", line 169, in test_conversion m.visual.vertex_colors = m.visual.vertex_colors File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 220, in vertex_colors return self._get_colors(name='vertex') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 338, in _get_colors colors = face_to_vertex_color( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/visual/color.py", line 716, in face_to_vertex_color vertex = mesh.faces_sparse.dot(rgba.astype(np.float64)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/base.py", line 326, in faces_sparse sparse = geometry.index_sparse( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 450, in index_sparse matrix = scipy.sparse.coo_matrix((data, (row, col)), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/geometry.py", line 7, in import scipy.sparse ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_fill (test_voxel.VoxelGridTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_voxel.py", line 334, in test_fill hollow = Sphere().voxelized(pitch=0.1).hollow() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/base.py", line 243, in hollow self.encoding = morphology.surface(self.encoding) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/morphology.py", line 185, in surface dense = _dense(encoding, rank=3) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/morphology.py", line 23, in _dense dense = encoding.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 126, in test_transpose self._test_transpose(encoding, dense_data, perm) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 45, in _test_transpose self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 98, in test_rle self._test_rle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 35, in _test_rle encoding.run_length_data(), rl.dense_to_rle(data)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 153, in run_length_data return rl.dense_to_rle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 145, in test_reshape self._test_dense( File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 785, in dense return self._data.dense.reshape(self.shape) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 115, in test_flipped self._test_flipped(encoding, dense_data, ax) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 61, in _test_flipped self._test_dense(encoding.flip(axes), data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 910, in dense dense = self._data.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 134, in test_flat self._test_dense(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_local (test_voxel.VoxelGridTest) Try calling local voxel functions ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_voxel.py", line 113, in test_local voxel = creation.local_voxelize( File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/creation.py", line 99, in local_voxelize from scipy import ndimage ModuleNotFoundError: No module named 'scipy' ====================================================================== ERROR: test_voxel (test_voxel.VoxelGridTest) Test that voxels work at all ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_3mf.py", line 2, in from . import generic as g ImportError: attempted relative import with no known parent package During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_voxel.py", line 29, in test_voxel assert len(surface.encoding.dense.shape) == 3 File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_voxel.py", line 334, in test_fill hollow = Sphere().voxelized(pitch=0.1).hollow() File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/base.py", line 243, in hollow self.encoding = morphology.surface(self.encoding) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/morphology.py", line 185, in surface dense = _dense(encoding, rank=3) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/morphology.py", line 23, in _dense dense = encoding.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 126, in test_transpose self._test_transpose(encoding, dense_data, perm) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 45, in _test_transpose self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 98, in test_rle self._test_rle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 35, in _test_rle encoding.run_length_data(), rl.dense_to_rle(data)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 153, in run_length_data return rl.dense_to_rle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 145, in test_reshape self._test_dense( File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 785, in dense return self._data.dense.reshape(self.shape) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 115, in test_flipped self._test_flipped(encoding, dense_data, ax) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 61, in _test_flipped self._test_dense(encoding.flip(axes), data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 910, in dense dense = self._data.dense File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 134, in test_flat self._test_dense(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 94, in test_dense self._test_dense(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 150, in test_composite self._test_composite(encoding, dense_data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 71, in _test_composite check() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 67, in check self._test_dense(encoding, data) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 31, in _test_dense np.testing.assert_equal(encoding.dense, data) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 848, in dense return self._data.dense.transpose(self._perm) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/usr/lib/python3.10/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.10/unittest/case.py", line 591, in run self._callTestMethod(testMethod) File "/usr/lib/python3.10/unittest/case.py", line 549, in _callTestMethod method() File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 102, in test_brle self._test_brle(encoding.flat, dense_data.reshape((-1,))) File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_encoding.py", line 39, in _test_brle encoding.binary_run_length_data(), File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 159, in binary_run_length_data return rl.dense_to_brle(self.dense, dtype=dtype) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 723, in dense return self._data.dense.reshape((-1,)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 344, in dense sparse = self._csc File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/caching.py", line 109, in get_cached value = function(*args, **kwargs) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 355, in _csc return sp.csc_matrix((values, indices, indptr), shape=(self.size, 1)) File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/exceptions.py", line 28, in __getattribute__ raise super(ExceptionModule, self).__getattribute__('exc') File "/build/python-trimesh/src/trimesh-3.9.31/trimesh/voxel/encoding.py", line 11, in from scipy import sparse as sp ModuleNotFoundError: No module named 'scipy' ====================================================================== FAIL: test_zipped (test_scene.SceneTests) Make sure a zip file with multiple file types ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/python-trimesh/src/trimesh-3.9.31/tests/test_scene.py", line 306, in test_zipped assert len(m.geometry) >= 6 AssertionError ---------------------------------------------------------------------- Ran 460 tests in 335.805s FAILED (failures=1, errors=144) No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' File type: mtl not supported No module named 'scipy' string is not a file: /build/python-trimesh/src/trimesh-3.9.31/models/2D No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' string is not a file: /build/python-trimesh/src/trimesh-3.9.31/models/BREP No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' File type: bin not supported No module named 'scipy' No module named 'scipy' No module named 'scipy' string is not a file: /build/python-trimesh/src/trimesh-3.9.31/models/emptyIO File type: mtl not supported No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' File type: msh not supported File type: jpg not supported No module named 'scipy' No module named 'scipy' No module named 'scipy' File type: mtl not supported No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' File type: mtl not supported No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' File type: ctm not supported No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' File type: mtl not supported No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' string is not a file: /build/python-trimesh/src/trimesh-3.9.31/models/2D/versions No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' No module named 'scipy' 7 9 points_emptyascii.ply angle_block.STL 1002_tray_bottom.STL fuze_ascii.ply featuretype.STL ballB.off reference.ply cube_blender_uv_meshlab.ply ico4uv.obj octagonal_pocket.stl octagonal_pocket.ply rgb_cube_with_primitives.gltf CesiumMilkTruck.glb fuze.ply teapot.stl cube.glb tet.ply cube.OBJ ico4.obj box.STL TestScene.gltf wallhole.obj BoxTextured.glb multibody.stl chair_model.obj BoxTextured.ply ADIS16480.STL ballA.off suzanne.ply shared.STL textured_tetrahedron.obj groups.obj cycloidal.ply bunny.ply sphere.ply torus.STL busted.STL empty.stl notenoughindices.obj soup.stl tube.obj singlevn.obj whitespace.off unit_cube.STL empty_nodes.glb points_bin.ply not_convex.obj Duck.glb cylinder.stl 7_8ths_cube.stl cubevt.obj testplate.glb jacked.obj idler_riser.STL empty.obj fandisk.obj rabbit.obj quadknot.obj origin_inside.STL pins.glb points_emptyface.ply nested.glb plate_holes.STL points_ascii.ply noimg.obj cube_blender_uv.ply large_block.STL two_objects.obj comments.off simple_pole.glb nancolor.obj monkey.glb points_ascii_with_lists.ply cube_compressed.obj unit_sphere.STL polygonfaces.obj 20mm-xyz-cube.stl boolean.glb reference.obj joined_tetrahedra.obj counter.unitsmm.STL box.obj fixed_top.ply empty.ply fuze.obj featuretype.ply large_block_obb.STL round.stl [[0. 0. 0.]] ==> ERROR: A failure occurred in check().  Aborting...