Mycroft-core: Los scripts de Python del instalador fallan. - Ningún módulo llamado '_ctypes'.

Creado en 3 feb. 2019  ·  10Comentarios  ·  Fuente: MycroftAI/mycroft-core

./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?

Comentario más útil

Encontré la respuesta aquí , la respuesta de Zachary Ware. Usé yum install libffi-dev para arreglarlo.

Todos 10 comentarios

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

¿Fue útil esta página
0 / 5 - 0 calificaciones