./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.
Installation de Raspbian.
Il est également intéressant de noter que "Trigging triggers for sgml-base" est répertorié deux fois. Impair?
Cela semble être une solution de contournement ici. Mais cela reste un bug.
https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul
sur Raspbian, cela pourrait être ajouté au script d'installation :
Git est déjà installé. Alors téléchargez le dépôt git dans un sous-répertoire 'cpython' à l'intérieur du répertoire 'mycroft-core' via git :
git clone https://github.com/python/cpython.git
Et construisez-le et compilez-le :
cd cpython
./configure
make -j 4
sudo make altinstall
cd ..
Si git n'est pas installé (puisque ce script s'exécute sur tous les Linux), considérez ceci avant git clone
:
Installer à partir de la source :
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Nouveau problème :
Après avoir compilé et installé cpython
, le script start-mycroft.sh
échoue toujours, mais continue après l'échec :
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
Il agit comme s'il était installé, après avoir échoué.
Lorsque vous essayez d'utiliser ./start-mycroft.sh debug
, cela échoue avec plusieurs erreurs :
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'
Je suppose que vous n'utilisez pas picroft, ce qui fonctionne.
Guessing you're not using picroft, which just works.
Correct. Parce que j'aime aussi faire d'autres choses avec mon Rpi dans un environnement graphique, et Picroft n'a pas fonctionné correctement et n'a pas détecté de microphone USB de base. Impossible de signaler des bogues sans interface graphique
C'est un problème vraiment étrange. On dirait que l'environnement python sur votre appareil ne fonctionne pas tout à fait ou quelque chose du genre ? _ctypes est inclus dans la bibliothèque standard python locale qui est utilisée pour créer le mycroft virtualenv.
Pouvez-vous essayer de supprimer le dossier .venv
dans le répertoire mycroft-core rm -rf .venv
, puis réexécuter le script dev_setup.sh ?
Bonjour, vu qu'il n'y a eu aucune communication sur ce sujet depuis 4 mois je vais le clore. Si vous rencontrez toujours ce problème, n'hésitez pas à rouvrir le problème.
J'ai trouvé la réponse ici , la réponse de Zachary Ware. J'ai utilisé yum install libffi-dev
pour le réparer.
J'ai trouvé la réponse ici , la réponse de Zachary Ware. J'ai utilisé
yum install libffi-dev
pour le réparer.
Oui, cela a fonctionné pour moi, je me suis assuré que ces packages sont installés sur mon 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
Puis réinstallé mon 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
Ensuite, j'ai enfin pu installer docker-compose :
pip3.8 install docker-compose
Merci @grossshen
Commentaire le plus utile
J'ai trouvé la réponse ici , la réponse de Zachary Ware. J'ai utilisé
yum install libffi-dev
pour le réparer.