./dev_setup.sh
Processing triggers for sgml-base (1.29) ...
Setting up docbook-xml (4.5-8) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for systemd (232-25+deb9u8) ...
Processing triggers for sgml-base (1.29) ...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1603k 100 1603k 0 0 1816k 0 --:--:-- --:--:-- --:--:-- 1816k
Traceback (most recent call last):
File "<stdin>", line 20649, in <module>
File "<stdin>", line 197, in main
File "<stdin>", line 82, in bootstrap
File "/tmp/tmplfnx9iya/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmplfnx9iya/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmplfnx9iya/pip.zip/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmplfnx9iya/pip.zip/pip/_internal/download.py", line 39, in <module>
File "/tmp/tmplfnx9iya/pip.zip/pip/_internal/utils/glibc.py", line 3, in <module>
File "/usr/local/lib/python3.7/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
Failed to set up virtualenv for mycroft, exiting setup.
Instalación de Raspbian.
También es interesante notar que "Procesando disparadores para sgml-base" aparece dos veces. ¿Impar?
Parece ser una solución temporal aquí. Pero esto sigue siendo un error.
https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul
en Raspbian, esto podría agregarse al script de instalación:
Git ya está instalado. Así que descargue el repositorio de git en un subdirectorio 'cpython' dentro del directorio 'mycroft-core' a través de git:
git clone https://github.com/python/cpython.git
Y compílelo y compílelo:
cd cpython
./configure
make -j 4
sudo make altinstall
cd ..
Si git no está instalado (ya que este script se ejecuta en todos los Linux), considere esto antes de git clone
:
Instalar desde la fuente:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Nuevo problema:
Después de compilar e instalar cpython
, el script start-mycroft.sh
aún falla, pero continúa después de fallar:
Traceback (most recent call last):
File "<stdin>", line 20649, in <module>
File "<stdin>", line 197, in main
File "<stdin>", line 82, in bootstrap
File "/tmp/tmpy509z2ho/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmpy509z2ho/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmpy509z2ho/pip.zip/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmpy509z2ho/pip.zip/pip/_internal/download.py", line 39, in <module>
File "/tmp/tmpy509z2ho/pip.zip/pip/_internal/utils/glibc.py", line 3, in <module>
File "/usr/local/lib/python3.7/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
Failed to set up virtualenv for mycroft, exiting setup.
start-mycroft.sh: Mycroft command/service launcher
usage: start-mycroft.sh [COMMAND] [restart] [params]
Services COMMANDs:
all runs core services: bus, audio, skills, voice
debug runs core services, then starts the CLI
audio the audio playback service
bus the messagebus service
skills the skill service
voice voice capture service
enclosure mark_1 enclosure service
Tool COMMANDs:
cli the Command Line Interface
unittest run mycroft-core unit tests (requires pytest)
skillstest run the skill autotests for all skills (requires pytest)
Util COMMANDs:
audiotest attempt simple audio validation
audioaccuracytest more complex audio validation
sdkdoc generate sdk documentation
Options:
restart (optional) Force the service to restart if running
Examples:
start-mycroft.sh all
start-mycroft.sh all restart
start-mycroft.sh cli
start-mycroft.sh unittest
Actúa como si estuviera instalado, después de fallar.
Al intentar usar ./start-mycroft.sh debug
, falla con múltiples errores:
ModuleNotFoundError: No module named '_ctypes'
Failed to set up virtualenv for mycroft, exiting setup.
Starting all mycroft-core services
Initializing...
Starting background service bus
CAUTION: The Mycroft bus is an open websocket with no built-in security
measures. You are responsible for protecting the local port
8181 with a firewall as appropriate.
./start-mycroft.sh: line 140: /var/log/mycroft/bus.log: No such file or directory
Starting background service skills
./start-mycroft.sh: line 140: /var/log/mycroft/skills.log: No such file or directory
Starting background service audio
./start-mycroft.sh: line 140: /var/log/mycroft/audio.log: No such file or directory
Starting background service voice
./start-mycroft.sh: line 140: /var/log/mycroft/voice.log: No such file or directory
Starting background service enclosure
./start-mycroft.sh: line 140: /var/log/mycroft/enclosure.log: No such file or directory
Starting cli
Traceback (most recent call last):
File "/usr/local/lib/python3.7/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/local/lib/python3.7/runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "/home/pi/Mycroft/mycroft-core/mycroft/__init__.py", line 17, in <module>
from mycroft.api import Api
File "/home/pi/Mycroft/mycroft-core/mycroft/api/__init__.py", line 18, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
Supongo que no estás usando Picroft, que simplemente funciona.
Guessing you're not using picroft, which just works.
Correcto. Porque también me gusta hacer otras cosas con mi Rpi en un entorno GUI, y Picroft no se ejecutó correctamente y no detectó un micrófono USB básico. No se pueden informar errores sin una GUI
Este es un problema realmente extraño. ¿Parece que el entorno de Python en su dispositivo no funciona del todo o algo así? _ctypes se incluye en la biblioteca estándar de Python local que se utiliza para crear mycroft virtualenv.
¿Puede intentar eliminar la carpeta .venv
en el directorio mycroft-core rm -rf .venv
y luego volver a ejecutar el script dev_setup.sh?
Hola, como no ha habido comunicación sobre este tema durante 4 meses, lo cerraré. Si sigues experimentando este problema, no dudes en volver a abrirlo.
Encontré la respuesta aquí , la respuesta de Zachary Ware. Usé yum install libffi-dev
para arreglarlo.
Encontré la respuesta aquí , la respuesta de Zachary Ware. Usé
yum install libffi-dev
para arreglarlo.
Sí, eso funcionó para mí, me aseguré de que estos paquetes estén instalados en mi Centos 7:
sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel libffi-dev gcc gcc-c++ zlib libffi-devel
Luego reinstalé mi Python 3.8.1:
wget http://python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
tar xf Python-3.6.8.tar.xz
cd Python-3.6.8
./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make && make altinstall
Entonces finalmente pude instalar docker-compose:
pip3.8 install docker-compose
Gracias @grossshen
Comentario más útil
Encontré la respuesta aquí , la respuesta de Zachary Ware. Usé
yum install libffi-dev
para arreglarlo.