momosuke
2022年6月28日 13時50分
いつもお世話になっております。
アットマーク産のコンテナに下記のrequirements.txtに記載されたpythonライブラリをインストールしたいです。
requirements.txt
absl-py==0.9.0 astor==0.8.1 audioread==2.1.8 cachetools==4.0.0 certifi==2019.11.28 cffi==1.13.2 chardet==3.0.4 cycler==0.10.0 decorator==4.4.1 gast==0.2.2 google-auth==1.10.1 google-auth-oauthlib==0.4.1 google-pasta==0.1.8 grpcio==1.26.0 h5py==2.10.0 idna==2.8 joblib==0.14.1 Keras==2.3.1 Keras-Applications==1.0.8 Keras-Preprocessing==1.1.0 kiwisolver==1.1.0 librosa==0.7.2 llvmlite==0.31.0 Markdown==3.1.1 matplotlib==3.1.2 numba==0.47.0 numpy==1.18.1 oauthlib==3.1.0 opt-einsum==3.1.0 protobuf==3.11.2 pyasn1==0.4.8 pyasn1-modules==0.2.8 pycparser==2.19 pydot==1.4.1 pyparsing==2.4.6 python-dateutil==2.8.1 PyYAML==5.3 requests==2.22.0 requests-oauthlib==1.3.0 resampy==0.2.2 rsa==4.0 scikit-learn==0.22.1 scipy==1.4.1 six==1.14.0 SoundFile==0.10.3.post1 tensorboard==2.1.0 tensorflow==2.1.0 tensorflow-estimator==2.1.0 termcolor==1.1.0 urllib3==1.25.7 Werkzeug==0.16.0 wrapt==1.11.2
ですがインストール中に下記のエラーが出てきてしまいます
[container]~#pip3 install -r requirements.txt ・ ・ ・ ERROR: Command errored out with exit status 1: command: /usr/local/bin/python3.6 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-h5g0qe3b/matplotlib_3033de0 6f4724d20931e64a96976c0f2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-h5g0qe3b/matplotlib_3033de06f4724d20931e64a96976c0f2/setup.py'"'"';f = get attr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-inf o-q841j8lu cwd: /tmp/pip-install-h5g0qe3b/matplotlib_3033de06f4724d20931e64a96976c0f2/ Complete output (89 lines): Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules yield saved File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context yield File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup _execfile(setup_script, ns) File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile exec(code, globals, locals) File "/tmp/easy_install-tdw2chab/numpy-1.23.0/setup.py", line 39, in <module> except ImportError: RuntimeError: Python version >= 3.8 required. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-install-h5g0qe3b/matplotlib_3033de06f4724d20931e64a96976c0f2/setup.py", line 311, in <module> cmdclass=cmdclass, File "/usr/local/lib/python3.6/site-packages/setuptools/__init__.py", line 128, in setup _install_setup_requires(attrs) File "/usr/local/lib/python3.6/site-packages/setuptools/__init__.py", line 123, in _install_setup_requires dist.fetch_build_eggs(dist.setup_requires) File "/usr/local/lib/python3.6/site-packages/setuptools/dist.py", line 513, in fetch_build_eggs replace_conflicting=True, File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 774, in resolve replace_conflicting=replace_conflicting File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1057, in best_match return self.obtain(req, installer) File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1069, in obtain return installer(requirement) File "/usr/local/lib/python3.6/site-packages/setuptools/dist.py", line 580, in fetch_build_egg return cmd.easy_install(req) File "/usr/local/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 673, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/usr/local/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 699, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/local/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 884, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/local/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1152, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/local/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1138, in run_setup run_setup(setup_script, args) File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 253, in run_setup raise File "/usr/local/lib/python3.6/contextlib.py", line 99, in __exit__ self.gen.throw(type, value, traceback) File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context yield File "/usr/local/lib/python3.6/contextlib.py", line 99, in __exit__ self.gen.throw(type, value, traceback) File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 166, in save_modules saved_exc.resume() File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 141, in resume six.reraise(type, exc, self._tb) File "/usr/local/lib/python3.6/site-packages/setuptools/_vendor/six.py", line 685, in reraise raise value.with_traceback(tb) File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules yield saved File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context yield File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup _execfile(setup_script, ns) File "/usr/local/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile exec(code, globals, locals) File "/tmp/easy_install-tdw2chab/numpy-1.23.0/setup.py", line 39, in <module> except ImportError: RuntimeError: Python version >= 3.8 required. ================================================================================ Edit setup.cfg to change the build options BUILDING MATPLOTLIB matplotlib: yes [3.1.2] python: yes [3.6.7 (default, Jun 28 2022, 02:08:07) [GCC 10.2.1 20210110]] platform: yes [linux] OPTIONAL SUBPACKAGES sample_data: yes [installing] tests: no [skipping due to configuration] OPTIONAL BACKEND EXTENSIONS agg: yes [installing] tkagg: yes [installing; run-time loading from Python Tcl/Tk] macosx: no [Mac OS-X only] OPTIONAL PACKAGE DATA dlls: no [skipping due to configuration] ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/75/81/53ccadcb8cad0a9837f1487b57f2b46b21caa2b3f35f72bc1acb06b5825c/matplotlib-3.1.2.ta r.gz#sha256=8e8e2c2fe3d873108735c6ee9884e6f36f467df4a143136209cff303b183bada (from https://pypi.org/simple/matplotlib/) (requires-python:>=3.6). C ommand errored out with exit status 1: python setup.py egg_info Check the logs for full command output. ERROR: Could not find a version that satisfies the requirement matplotlib==3.1.2 (from versions: 0.86, 0.86.1, 0.86.2, 0.91.0, 0.91.1, 1.0.1, 1.1. 0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1rc1, 1.4.1, 1.4.2, 1.4.3, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 2.0.0b1, 2.0.0b2, 2.0.0b3, 2.0.0b4, 2.0.0r c1, 2.0.0rc2, 2.0.0, 2.0.1, 2.0.2, 2.1.0rc1, 2.1.0, 2.1.1, 2.1.2, 2.2.0rc1, 2.2.0, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 3.0.0rc2, 3.0.0, 3.0.1, 3.0.2, 3.0. 3, 3.1.0rc1, 3.1.0rc2, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.2.0rc1, 3.2.0rc3, 3.2.0, 3.2.1, 3.2.2, 3.3.0rc1, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4) ERROR: No matching distribution found for matplotlib==3.1.2
raspberrypiはpython3.6.7で動きましたし、matplotlibに関してはlogに3.1.2があるにも関わらずエラーが出てしまっています。
どうしたらインストールできるのか、お時間あるときにご教授頂きたいです。
よろしくお願いいたします。
環境
アットマーク産コンテナ
python3.6.7
pip21.3.1
コメント
momosuke
> aarch64 対応はバージョンが 3.4.0 以降となるようです。
> 下記URLの PyPI 3.4.0 を確認すると、aarch64がありますので、pip を使用してインストールできます。
> https://pypi.org/project/matplotlib/3.4.0/#files
ご回答ありがとうございます。とても勉強になります。
ですが、再度pipで3.4.0をインストールしようとするとバージョンが見つからないと怒られてしまいます。
どうしたら解決できるでしょうか、ご教授のほどよろしくお願いします。
log
[container]# pip install matplotlib==3.4.0 ERROR: Could not find a version that satisfies the requirement matplotlib==3.4.0 (from versions: 0.86, 0.86.1, 0.86.2, 0.91.0, 0.91.1, 1.0.1, 1.1. 0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1rc1, 1.4.1, 1.4.2, 1.4.3, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 2.0.0b1, 2.0.0b2, 2.0.0b3, 2.0.0b4, 2.0.0r c1, 2.0.0rc2, 2.0.0, 2.0.1, 2.0.2, 2.1.0rc1, 2.1.0, 2.1.1, 2.1.2, 2.2.0rc1, 2.2.0, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 3.0.0rc2, 3.0.0, 3.0.1, 3.0.2, 3.0. 3, 3.1.0rc1, 3.1.0rc2, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.2.0rc1, 3.2.0rc3, 3.2.0, 3.2.1, 3.2.2, 3.3.0rc1, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4) ERROR: No matching distribution found for matplotlib==3.4.0
at_shiita.ishigaki
momosuke
> PyPI を確認すると matplotlib で 3.4.0 以降のバージョンを使用するには python のバージョンが 3.7 以降である必要があるようです。
> 最初に頂いたログでは python3.6 を使用しているようですので、python のバージョンを上げる必要があります。
お忙しい中ご教授頂きありがとうございます。
おかげさまでrequirement.txtに記載されたライブラリはバージョンを変更しながらなんとかインストールできました。
requirement.txt
root@878e4a7f5b6f:~# pip list Package Version ---------------------------- ------------ absl-py 1.1.0 appdirs 1.4.4 astunparse 1.6.3 audioread 2.1.9 cachetools 5.2.0 certifi 2022.6.15 cffi 1.15.0 charset-normalizer 2.0.12 Cython 0.29.30 decorator 5.1.1 flatbuffers 1.12 gast 0.4.0 google-auth 2.8.0 google-auth-oauthlib 0.4.6 google-pasta 0.2.0 grpcio 1.47.0 h5py 3.7.0 idna 3.3 importlib-metadata 4.12.0 joblib 1.1.0 keras 2.9.0 Keras-Preprocessing 1.1.2 libclang 14.0.1 librosa 0.9.2 llvmlite 0.38.1 Markdown 3.3.7 numba 0.55.2 numpy 1.22.4 oauthlib 3.2.0 opt-einsum 3.3.0 packaging 21.3 pip 22.1.2 pooch 1.6.0 protobuf 3.19.4 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycparser 2.21 pyparsing 3.0.9 requests 2.28.0 requests-oauthlib 1.3.1 resampy 0.2.2 rsa 4.8 scikit-learn 1.1.1 scipy 1.8.1 setuptools 62.6.0 six 1.16.0 SoundFile 0.10.3.post1 tensorboard 2.9.1 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.1 tensorflow-aarch64 2.9.1 tensorflow-estimator 2.9.0 tensorflow-io-gcs-filesystem 0.26.0 termcolor 1.1.0 threadpoolctl 3.1.0 typing_extensions 4.2.0 urllib3 1.26.9 Werkzeug 2.1.2 wheel 0.37.1 wrapt 1.11.2 zipp 3.8.0
ですがプログラムを動かしたところ、librosaのインポートにエラーが出てしまい、解決方法がわかりません。
[container]~# python3 realtime_test.py Traceback (most recent call last): File "realtime_test.py", line 5, in <module> import librosa.core,librosa.filters File "/usr/local/lib/python3.8/site-packages/librosa/__init__.py", line 209, in <module> from . import core File "/usr/local/lib/python3.8/site-packages/librosa/core/__init__.py", line 6, in <module> from .audio import * # pylint: disable=wildcard-import File "/usr/local/lib/python3.8/site-packages/librosa/core/audio.py", line 8, in <module> import soundfile as sf File "/usr/local/lib/python3.8/site-packages/soundfile.py", line 142, in <module> raise OSError('sndfile library not found') OSError: sndfile library not found
PyPIを見てみると最新版でもlibrosaはそもそもaarch64に対応しておらず、なぜインストールできたのかも不明です。
https://pypi.org/project/librosa/0.9.2/#files
librosaを正常に動作させるためにはどうすればいいでしょうか。
環境
python3.8.7
pip22.1.2
お手数おかけしてしまいますがご回答いただけたら幸いです。
よろしくお願いします。
at_shiita.ishigaki
石垣です。
> OSError: sndfile library not found
こちらのエラーを調べたところ libsndfile がインストールされていないことが原因のようです。
コンテナ内で以下のコマンドを実行し、libsndfile をインストールしてください。
[container ~]# apt install libsndfile1-dev
> PyPIを見てみると最新版でもlibrosaはそもそもaarch64に対応しておらず、なぜインストールできたのかも不明です。
.whl ファイルを確認したところ none-any となっているので、アーキテクチャに関係なくインストールできると思われます。
.whl ファイルのタグについては下記リンクをご確認ください。
https://peps.python.org/pep-0425/
momosuke
ご回答ありがとうございます。
ご指摘のコマンドを入力した結果、以下のエラーが出ました
[container ~]# apt install libsndfile1-dev ・ ・ ・ Err:1 http://deb.debian.org/debian bullseye/main arm64 libogg0 arm64 1.3.4-0.1 Temporary failure resolving 'deb.debian.org' Err:2 http://deb.debian.org/debian bullseye/main arm64 libflac8 arm64 1.3.3-2+deb11u1 Temporary failure resolving 'deb.debian.org' Err:3 http://deb.debian.org/debian bullseye/main arm64 libogg-dev arm64 1.3.4-0.1 Temporary failure resolving 'deb.debian.org' Err:4 http://deb.debian.org/debian bullseye/main arm64 libflac-dev arm64 1.3.3-2+deb11u1 Temporary failure resolving 'deb.debian.org' Err:5 http://deb.debian.org/debian bullseye/main arm64 libopus0 arm64 1.3.1-0.1 Temporary failure resolving 'deb.debian.org' Err:6 http://deb.debian.org/debian bullseye/main arm64 libopus-dev arm64 1.3.1-0.1 Temporary failure resolving 'deb.debian.org' Err:7 http://deb.debian.org/debian bullseye/main arm64 libvorbis0a arm64 1.3.7-1 Temporary failure resolving 'deb.debian.org' Err:8 http://deb.debian.org/debian bullseye/main arm64 libvorbisenc2 arm64 1.3.7-1 Temporary failure resolving 'deb.debian.org' Err:9 http://deb.debian.org/debian bullseye/main arm64 libsndfile1 arm64 1.0.31-2 Temporary failure resolving 'deb.debian.org' Err:10 http://deb.debian.org/debian bullseye/main arm64 libvorbisfile3 arm64 1.3.7-1 Temporary failure resolving 'deb.debian.org' Err:11 http://deb.debian.org/debian bullseye/main arm64 libvorbis-dev arm64 1.3.7-1 Temporary failure resolving 'deb.debian.org' Err:12 http://deb.debian.org/debian bullseye/main arm64 libsndfile1-dev arm64 1.0.31-2 Temporary failure resolving 'deb.debian.org' E: Failed to fetch http://deb.debian.org/debian/pool/main/libo/libogg/libogg0_1.3.4-0.1_arm64.deb Temporary failure resolving 'deb.debian.org' E: Failed to fetch http://deb.debian.org/debian/pool/main/f/flac/libflac8_1.3.3-2%2bdeb11u1_arm64.deb Temporary failure resolving 'deb.debian.org ' E: Failed to fetch http://deb.debian.org/debian/pool/main/libo/libogg/libogg-dev_1.3.4-0.1_arm64.deb Temporary failure resolving 'deb.debian.org' E: Failed to fetch http://deb.debian.org/debian/pool/main/f/flac/libflac-dev_1.3.3-2%2bdeb11u1_arm64.deb Temporary failure resolving 'deb.debian. org' E: Failed to fetch http://deb.debian.org/debian/pool/main/o/opus/libopus0_1.3.1-0.1_arm64.deb Temporary failure resolving 'deb.debian.org' E: Failed to fetch http://deb.debian.org/debian/pool/main/o/opus/libopus-dev_1.3.1-0.1_arm64.deb Temporary failure resolving 'deb.debian.org' E: Failed to fetch http://deb.debian.org/debian/pool/main/libv/libvorbis/libvorbis0a_1.3.7-1_arm64.deb Temporary failure resolving 'deb.debian.or g' E: Failed to fetch http://deb.debian.org/debian/pool/main/libv/libvorbis/libvorbisenc2_1.3.7-1_arm64.deb Temporary failure resolving 'deb.debian. org' E: Failed to fetch http://deb.debian.org/debian/pool/main/libs/libsndfile/libsndfile1_1.0.31-2_arm64.deb Temporary failure resolving 'deb.debian. org' E: Failed to fetch http://deb.debian.org/debian/pool/main/libv/libvorbis/libvorbisfile3_1.3.7-1_arm64.deb Temporary failure resolving 'deb.debian .org' E: Failed to fetch http://deb.debian.org/debian/pool/main/libv/libvorbis/libvorbis-dev_1.3.7-1_arm64.deb Temporary failure resolving 'deb.debian. org' E: Failed to fetch http://deb.debian.org/debian/pool/main/libs/libsndfile/libsndfile1-dev_1.0.31-2_arm64.deb Temporary failure resolving 'deb.deb ian.org' E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
apt-get update
コマンドも試しましたが、以下のようなエラーが出てしまいます
Err:1 http://deb.debian.org/debian bullseye InRelease Temporary failure resolving 'deb.debian.org' Err:2 http://security.debian.org/debian-security bullseye-security InRelease Temporary failure resolving 'security.debian.org' Err:3 http://download.atmark-techno.com/debian bullseye InRelease Temporary failure resolving 'download.atmark-techno.com' Err:4 http://deb.debian.org/debian bullseye-updates InRelease Temporary failure resolving 'deb.debian.org' Reading package lists... Done W: Failed to fetch http://deb.debian.org/debian/dists/bullseye/InRelease Temporary failure resolving 'deb.debian.org' W: Failed to fetch http://security.debian.org/debian-security/dists/bullseye-security/InRelease Temporary failure resolving 'security.debian.org' W: Failed to fetch http://deb.debian.org/debian/dists/bullseye-updates/InRelease Temporary failure resolving 'deb.debian.org' W: Failed to fetch http://download.atmark-techno.com/debian/dists/bullseye/InRelease Temporary failure resolving 'download.atmark-techno.com' W: Some index files failed to download. They have been ignored, or old ones used instead.
調べたところ下記の投稿を見つけたのですが、コンテナ内ではping
コマンドが使えず、先に進めません。
https://armadillo.atmark-techno.com/comment/6500
本当に何度も申し訳ないのですが、お答えいただけると幸いです。
よろしくお願いいたします。
at_shiita.ishigaki
momosuke
> 石垣です。
ご回答ありがとうございました。
コンテナ外でも試していましたが、ネットワークには繋がれていました。
ですがPCが少し重く、再起動しもう一度やり直したところ、libsndfileのインストールがなぜかうまくいきました。
ほかにもいくつかエラーがありましたがそこは自己解決でき、現在は正常にコンテナ上でプログラムを動かせています。
恐らく関係ないと思いますが私のPCによる不具合だったのかもしれません。
原因は解明できていませんが先に進みたいと思います。
ここまで来れたのはアットマークさんのサポートのおかげです、ありがとうございました。
最終的なpip listを以下に示しておきます。
absl-py 1.1.0 appdirs 1.4.4 astunparse 1.6.3 audioread 2.1.9 cachetools 5.2.0 certifi 2022.6.15 cffi 1.15.0 charset-normalizer 2.0.12 cycler 0.11.0 Cython 0.29.30 decorator 5.1.1 flatbuffers 1.12 gast 0.4.0 google-auth 2.8.0 google-auth-oauthlib 0.4.6 google-pasta 0.2.0 grpcio 1.47.0 h5py 3.7.0 idna 3.3 importlib-metadata 4.12.0 joblib 1.1.0 keras 2.9.0 Keras-Preprocessing 1.1.2 kiwisolver 1.4.3 libclang 14.0.1 librosa 0.9.2 llvmlite 0.38.1 Markdown 3.3.7 matplotlib 3.4.0 numba 0.55.2 numpy 1.22.4 oauthlib 3.2.0 opt-einsum 3.3.0 packaging 21.3 Pillow 9.1.1 pip 22.1.2 pooch 1.6.0 protobuf 3.19.4 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycparser 2.21 pyparsing 3.0.9 python-dateutil 2.8.2 pyusb 1.2.1 requests 2.28.0 requests-oauthlib 1.3.1 resampy 0.2.2 rsa 4.8 scikit-learn 1.1.1 scipy 1.8.1 setuptools 62.6.0 six 1.16.0 SoundFile 0.10.3.post1 tensorboard 2.9.1 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.1 tensorflow-aarch64 2.9.1 tensorflow-estimator 2.9.0 tensorflow-io-gcs-filesystem 0.26.0 termcolor 1.1.0 threadpoolctl 3.1.0 typing_extensions 4.2.0 urllib3 1.26.9 usb 0.0.83.dev0 Werkzeug 2.1.2 wheel 0.37.1 wrapt 1.11.2 zipp 3.8.0
環境
アットマーク産コンテナ
python 3.8.7
pip 22.1.2
at_shiita.ishigaki
2022年6月28日 17時03分
石垣です。
> raspberrypiはpython3.6.7で動きましたし、matplotlibに関してはlogに3.1.2があるにも関わらずエラーが出てしまっています。
PyPI で matplotlib の 3.1.2 を確認したところ、 manylinux_x86_64 はありますが、aarch64 はないようです。
ですので、32bit OSである Raspberry Pi では pip を使用してインストールができ、 Armadillo-IoT G4 ではインストールができないと思われます。
https://pypi.org/project/matplotlib/3.1.2/#files
aarch64 対応はバージョンが 3.4.0 以降となるようです。
下記URLの PyPI 3.4.0 を確認すると、aarch64がありますので、pip を使用してインストールできます。
https://pypi.org/project/matplotlib/3.4.0/#files