Hi,
I tried to install GrovePi on a fresh OS on a RasPi Model B with this command:
sudo curl -kL dexterindustries.com/update_grovepi | bash
At first it ran smoothly, but at the end, it threw errors like so:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 156, in save_modules
yield saved
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 198, in setup_context
yield
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 259, in run_setup
_execfile(setup_script, ns)
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 46, in _execfile
exec(code, globals, locals)
File “/tmp/easy_install-26w92ks4/smbus-cffi-0.5.1/setup.py”, line 17, in
Permission is hereby granted, free of charge, to any person obtaining a copy
File “/usr/lib/python3/dist-packages/setuptools/init.py”, line 108, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/core.py”, line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/core.py”, line 201, in run_commands
dist.run_commands()
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 969, in run_commands
self.run_command(cmd)
File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 1213, in run_command
super().run_command(command)
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 988, in run_command
cmd_obj.run()
File “/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py”, line 165, in run
cmd = self.call_command(‘install_lib’, warn_dir=0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py”, line 151, in call_command
self.run_command(cmdname)
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 318, in run_command
self.distribution.run_command(command)
File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 1213, in run_command
super().run_command(command)
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 987, in run_command
cmd_obj.ensure_finalized()
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 111, in ensure_finalized
self.finalize_options()
File “/usr/lib/python3/dist-packages/setuptools/command/install_lib.py”, line 17, in finalize_options
self.set_undefined_options(‘install’,(‘install_layout’,‘install_layout’))
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 296, in set_undefined_options
setattr(self, dst_option, getattr(src_cmd_obj, src_option))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 107, in getattr
raise AttributeError(attr)
AttributeError: install_layout. Did you mean: ‘install_platlib’?
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/home/pi/Dexter/GrovePi/Software/Python/setup.py”, line 88, in
setuptools.setup(
File “/usr/lib/python3/dist-packages/setuptools/init.py”, line 108, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/core.py”, line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/core.py”, line 201, in run_commands
dist.run_commands()
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 969, in run_commands
self.run_command(cmd)
File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 1213, in run_command
super().run_command(command)
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 988, in run_command
cmd_obj.run()
File “/usr/lib/python3/dist-packages/setuptools/command/install.py”, line 74, in run
self.do_egg_install()
File “/usr/lib/python3/dist-packages/setuptools/command/install.py”, line 131, in do_egg_install
cmd.run(show_deprecation=False)
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 444, in run
self.easy_install(spec, not self.no_deps)
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 686, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 733, in install_item
self.process_distribution(spec, dist, deps)
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 778, in process_distribution
distros = WorkingSet([]).resolve(
^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/pkg_resources/init.py”, line 815, in resolve
dist = self._resolve_dist(
^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/pkg_resources/init.py”, line 851, in _resolve_dist
dist = best[req.key] = env.best_match(
^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/pkg_resources/init.py”, line 1123, in best_match
return self.obtain(req, installer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/pkg_resources/init.py”, line 1135, in obtain
return installer(requirement)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 705, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 731, in install_item
dists = self.install_eggs(spec, download, tmpdir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 924, in install_eggs
return self.build_and_install(setup_script, setup_base)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 1198, in build_and_install
self.run_setup(setup_script, setup_base, args)
File “/usr/lib/python3/dist-packages/setuptools/command/easy_install.py”, line 1182, in run_setup
run_setup(setup_script, args)
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 249, in run_setup
with setup_context(setup_dir):
File “/usr/lib/python3.11/contextlib.py”, line 155, in exit
self.gen.throw(typ, value, traceback)
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 190, in setup_context
with save_modules():
File “/usr/lib/python3.11/contextlib.py”, line 155, in exit
self.gen.throw(typ, value, traceback)
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 169, in save_modules
saved_exc.resume()
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 143, in resume
raise exc.with_traceback(self._tb)
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 156, in save_modules
yield saved
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 198, in setup_context
yield
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 259, in run_setup
_execfile(setup_script, ns)
File “/usr/lib/python3/dist-packages/setuptools/sandbox.py”, line 46, in _execfile
exec(code, globals, locals)
File “/tmp/easy_install-26w92ks4/smbus-cffi-0.5.1/setup.py”, line 17, in
Permission is hereby granted, free of charge, to any person obtaining a copy
File “/usr/lib/python3/dist-packages/setuptools/init.py”, line 108, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/core.py”, line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/core.py”, line 201, in run_commands
dist.run_commands()
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 969, in run_commands
self.run_command(cmd)
File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 1213, in run_command
super().run_command(command)
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 988, in run_command
cmd_obj.run()
File “/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py”, line 165, in run
cmd = self.call_command(‘install_lib’, warn_dir=0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py”, line 151, in call_command
self.run_command(cmdname)
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 318, in run_command
self.distribution.run_command(command)
File “/usr/lib/python3/dist-packages/setuptools/dist.py”, line 1213, in run_command
super().run_command(command)
File “/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py”, line 987, in run_command
cmd_obj.ensure_finalized()
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 111, in ensure_finalized
self.finalize_options()
File “/usr/lib/python3/dist-packages/setuptools/command/install_lib.py”, line 17, in finalize_options
self.set_undefined_options(‘install’,(‘install_layout’,‘install_layout’))
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 296, in set_undefined_options
setattr(self, dst_option, getattr(src_cmd_obj, src_option))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py”, line 107, in getattr
raise AttributeError(attr)
AttributeError: install_layout
Running the blink example also threw errors:
pi@grove-pi:~/Dexter/GrovePi/Software/Python $ sudo python grove_led_blink.py
Traceback (most recent call last):
File “/home/pi/Dexter/GrovePi/Software/Python/grove_led_blink.py”, line 37, in
from grovepi import *
File “/home/pi/Dexter/GrovePi/Software/Python/grovepi.py”, line 54, in
import di_i2c
ModuleNotFoundError: No module named ‘di_i2c’
Does anyone know where the problem might be?