Mycroft-core: インストーラーのPythonスクリプトが失敗します。 --'_ ctypes 'という名前のモジュールはありません。

作成日 2019年02月03日  ·  10コメント  ·  ソース: 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.

Raspbianインストール。

「sgml-baseのトリガーの処理」が2回リストされていることにも注意してください。 奇数?

最も参考になるコメント

私はここで答えを見つけましyum install libffi-devを使用して修正しました。

全てのコメント10件

ここでの回避策のようです。 しかし、これはまだバグです。
https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul

Raspbianでは、これをインストールスクリプトに追加できます。

Gitはすでにインストールされています。 したがって、gitリポジトリを「mycroft-core」ディレクトリ内の「cpython」サブディレクトリにgit経由でダウンロードします。

git clone https://github.com/python/cpython.git

そしてそれをビルドしてコンパイルします:

cd cpython

./configure
make -j 4
sudo make altinstall

cd ..

gitがインストールされていない場合(このスクリプトはすべてのLinuxで実行されるため)、 git clone前にこれを検討してください。
ソースからインストール:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

新しい問題:

cpythonコンパイルしてインストールした後も、 start-mycroft.shスクリプトは失敗しますが、失敗した後も続行します。

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

失敗した後は、インストールされているように動作します。

./start-mycroft.sh debugを使用しようとすると、複数のエラーで失敗します。

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'

picroftを使用していないと推測します。これは機能します。

      Guessing you're not using picroft, which just works.

正しい。 GUI環境でRpiを使って他のことをするのも好きで、Picroftが正しく動作せず、基本的なUSBマイクを検出しなかったためです。 GUIなしではバグを報告できません

これは本当に奇妙な問題です。 お使いのデバイスのPython環境が完全に機能していないようです。 _ctypesは、mycroftvirtualenvの作成に使用されるローカルのPython標準ライブラリに含まれています。

mycroft-coreディレクトリrm -rf .venv.venvフォルダを削除してから、dev_setup.shスクリプトを再実行してみてください。

こんにちは。この問題に関する連絡が4か月間なかったので、終了します。 それでもこの問題が発生する場合は、問題を再度開いてください。

私はここで答えを見つけましyum install libffi-devを使用して修正しました。

私はここで答えを見つけましyum install libffi-devを使用して修正しました。

はい、うまくいきました。これらのパッケージがCentos7にインストールされていることを確認しました。

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

次に、Python3.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

その後、ついにdocker-composeをインストールすることができました。

pip3.8 install docker-compose

ありがとう@grossshen

このページは役に立ちましたか?
0 / 5 - 0 評価