質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Spyder

Spyderとは、Pythonで分析するために作られたIDEです。プログラムの編集・実行・入力補完・デバッグなどの基本的なIDE機能の他、科学用途の計算をするために要するライブラリも装備。公式・サードパーティ製のプラグインもあり、機能を拡張することもできます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

6374閲覧

import vtk ができない

pusokungo

総合スコア13

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Spyder

Spyderとは、Pythonで分析するために作られたIDEです。プログラムの編集・実行・入力補完・デバッグなどの基本的なIDE機能の他、科学用途の計算をするために要するライブラリも装備。公式・サードパーティ製のプラグインもあり、機能を拡張することもできます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/08/11 12:37

編集2021/08/12 10:05

Pythonを使用して3次元データの可視化を試みています.

最終的にはmayaviを使用して3次元化したいのですが, その前の段階でつまづいています.
mayaviのサイト(https://mayavi.readthedocs.io/ja/latest/installation.html)を確認したところ, Conda-forge によるインストールという項目があったのでこれに従いインストールを試みました.

$ conda install vtk
$ conda create --name pyforge python=3.6
$ conda config --add channels conda-forge
$ activate pyforge
$ conda install vtk
$ conda install pyqt=5
$ conda install mayavi

(python 3.6にしたのは, 現在主に使用しているのが3系であり, 最新バージョンではない方が良い気がしたためです.
また, pyqt=4でインストールしようとしたところエラーが出たため, 5をインストールしています. )

こちらのinstallは滞りなく成功したのですが, いざ仮想環境(pyforge)からSpyderを開いて
import vtk
をしたころを,
ModuleNotFoundError: No module named 'vtkCommonCorePython'
と表示されました.

mayaviの方も試したところ,
import mayavi
を走らせると, IPython コンソール上に
Changing backend to Qt for Mayavi
と表示されはするのですが, 別ウィンドウで何か上がってくるわけでもありません.

https://mayavi.readthedocs.io/ja/latest/mlab.html
こちらを参考に以下のようなデモのコードを走らせてみたところ,

Python

1# Create the data. 2from numpy import pi, sin, cos, mgrid 3dphi, dtheta = pi/250.0, pi/250.0 4[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta] 5m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4; 6r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7 7x = r*sin(phi)*cos(theta) 8y = r*cos(phi) 9z = r*sin(phi)*sin(theta) 10 11# View it. 12from mayavi import mlab 13s = mlab.mesh(x, y, z) 14mlab.show()

ModuleNotFoundError: No module named 'importlib_resources'
というエラーコードが出てきました.

インストールまではうまくいっていると思うのですが, 実際のimportができていない状況です.
何か心当たりがあればご回答よろしくお願いいたします.

プログラミング環境
windows10 64bit
Anaconda3
python 3.8.8(root) 3.6(仮想環境)
spyder 4.2.5(root) 5.0.5(仮想環境)

追記
ご指摘いただいたエラーメッセージを追加いたします.

<import vtk> import vtk Traceback (most recent call last):

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\vtkmodules\vtkCommonCore.py", line 5, in <module>
from .vtkCommonCorePython import *

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "<ipython-input-1-7c7f66f02cd3>", line 1, in <module>
import vtk

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\vtk.py", line 32, in <module>
all_spec.loader.exec_module(all_m)

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\vtkmodules\all.py", line 7, in <module>
from .vtkCommonCore import *

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\vtkmodules\vtkCommonCore.py", line 9, in <module>
from vtkCommonCorePython import *

ModuleNotFoundError: No module named 'vtkCommonCorePython'

<from mayavi import mlab> from mayavi import mlab MayaviのバックエンドをQtに変更しています Traceback (most recent call last):

File "<ipython-input-2-67847bc6bfd0>", line 1, in <module>
from mayavi import mlab

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\mayavi\mlab.py", line 16, in <module>
from mayavi.tools.camera import view, roll, yaw, pitch, move

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\mayavi\tools\camera.py", line 24, in <module>
from .engine_manager import get_engine

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\mayavi\tools\engine_manager.py", line 12, in <module>
from mayavi.preferences.api import preference_manager

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\mayavi\preferences\api.py", line 4, in <module>
from .preference_manager import preference_manager

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\mayavi\preferences\preference_manager.py", line 29, in <module>
from traitsui.api import View, Group, Item

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\traitsui\api.py", line 261, in <module>
from .editors.api import (

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\traitsui\editors_init_.py", line 20, in <module>
from .api import (

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\traitsui\editors\api.py", line 107, in <module>
from .list_str_editor import ListStrEditor

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\traitsui\editors\list_str_editor.py", line 14, in <module>
from pyface.image_resource import ImageResource

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\pyface\image_resource.py", line 19, in <module>
ImageResource = toolkit_object("image_resource:ImageResource")

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\pyface\base_toolkit.py", line 152, in call
module = import_module(mname, package)

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\pyface\ui\qt4\image_resource.py", line 25, in <module>
from pyface.i_image_resource import IImageResource, MImageResource

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\pyface\i_image_resource.py", line 14, in <module>
from pyface.resource_manager import resource_manager

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\pyface\resource_manager.py", line 14, in <module>
from pyface.resource.api import ResourceManager

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\pyface\resource\api.py", line 13, in <module>
from .resource_manager import ResourceManager

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\pyface\resource\resource_manager.py", line 20, in <module>
from importlib_resources import files

ModuleNotFoundError: No module named 'importlib_resources'

#追記
jbpb0さんのご指摘の通り,
conda install importlib_resources
を実行したところ, import mayaviでこ上記のエラーは出なくなりましたが,
import vtkを実行したときと同様の下記のエラーが出てくるようになりました.

File "C:\Users\yoosuk\anaconda3\envs\pyforge\lib\site-packages\vtkmodules\vtkCommonCore.py", line 5, in <module>
from .vtkCommonCorePython import *

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

こちらの解決方法についてわかる方がいましたらご回答よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/08/11 13:54 編集

> ModuleNotFoundError: No module named 'vtkCommonCorePython' や > ModuleNotFoundError: No module named 'importlib_resources' の上にいろいろ表示されてると思うので、それぞれの「Traceback」と書かれてるところから下の部分を質問に記載してください
pusokungo

2021/08/11 22:50

ご回答ありがとうございます. 質問欄下部に追記いたしました.
jbpb0

2021/08/12 05:24 編集

当方のMacのAnacondaに、conda-forgeを使わず普通に conda install vtk でインストールしてから、Pythonで import vtk を実行したら、下記のエラーが出ました ImportError: dlopen(/Users/XXX/anaconda3/lib/python3.7/site-packages/vtkmodules/vtkIOParallelPython.so, 2): Library not loaded: @rpath/libjsoncpp.19.dylib 「libjsoncpp.19.dylib」を読み込めないので「vtkIOParallelPython」をインポートできない、というものです それよりも下に「No module named ‘vtkIOParallelPython'」というエラーも書かれてましたが、その原因は上記なので、Anacondaをインストールしてるパス内を調べたら、「libjsoncpp.24.dylib」はありましたが、「libjsoncpp.19.dylib」はありませんでした そこで、 conda install jsoncpp==1.8.4 でバージョンがちょっと古いのに入れ換えたら、「libjsoncpp.19.dylib」が入り、Pythonで import vtk を実行してもエラーが出なくなりました 質問に書かれている > from .vtkCommonCorePython import * ImportError: DLL load failed: 指定されたモジュールが見つかりません。 も同様に、DLLを読み込めない原因を突き止めて対策すれば直ると思いますよ MacとWindowsの違いや、conda-forgeを使うかどうかという違いがあるので、原因(足りないファイル)が当方と同じかどうかは分からないので、有効な対策は異なるかもしれませんが
jbpb0

2021/08/12 05:36 編集

上記の通り、当方のMacのAnacondaではPythonで import vtk を実行してもエラーが出なくなったので、こちらもconda-forgeを使わず普通に conda install mayavi でインストールしてから、Pythonで from mayavi import mlab を実行したら「No module named ‘importlib_resources'」というエラーが出たので、それも(conda-forgeを使わず) conda install importlib_resources でインストールしたら、Pythonで from mayavi import mlab を実行してもエラーが出なくなり、質問に記載の「デモのコード」も実行できました なお、当方のMacのAnacondaには、既に「pyqt」が入っていたので、pyqt=4, 5はどちらも今回は追加してません Anacondaインストール時から入っていたのか、それとも何かを入れたときにいっしょに入ったのか、は憶えてません
pusokungo

2021/08/12 08:25

ありがとうございます. conda install importlib_resourcesを試したところ, インストール完了し, 「No module named ‘importlib_resources'」のエラーは出なくなりました. 代わりにimport vtkをした時とまったく同じエラーが吐き出されました. > from .vtkCommonCorePython import * ImportError: DLL load failed: 指定されたモジュールが見つかりません。 こちらの原因について調べているのですが, なかなか有効な手段が見つかりません...
guest

回答2

0

自己解決

色々試したところ, 以下の方法で成功したので記載します.
仮想環境はpython3.6で構築しています.

#解決法

・すでにimportされていたvtk, mayavi, pyqt5をすべてuninstall.
$ conda uninstall (module名)

・vtkを古いバージョンでインストール
$ conda install vtk=7.1.1

・pyqt5をインストール
$ conda install pyqt=5

・mayaviをインストール
$ pip install mayavi

mayaviに関しては最初に, conda install mayaviや, conda install mayavi=4.5.0 を試したのですがうまくいかなかったので, pipで試したところ偶然成功しました. また, 7.1.1でインストールしたはずのvtkが, mayaviをインストール後に9.0.3にアップグレードされていました. (mayaviインストール時に引っ張られるようにアップグレードされた?)
とにかく, 目的のデモコードも無事に動き, 別ウィンドウで3次元グラフが表示されたので安心しました.
今回ご助言をいただいたjbpb0さん, ありがとうございました. 大変助かりました.

#追記
上手くいかなかったのは, python, vtk, mayaviのお互いのバージョン互換の影響ではないかと考えています. (python3.8ではできないかも?)インストール時にバージョンを入力しないと自動的に最新バージョンがインストールされるようなので, これからうまくいかないときはまず古いバージョンのインストールを試してみると良いかと思います.
今回色々試していて, python3.5の仮想環境も試したのですが, python3.5ではconda install~でvtk もmayaviもすんなりインストールできましたが, デモコードにある
$ from mayavi import mlab
がうまく動作しなかったりと, 苦戦しました.
今後時間をおいてpythonのバージョンに対応してきた頃合いを見てpython3.8でのインストールも行ってみようと思います.

投稿2021/08/13 12:16

pusokungo

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Pythonのライブラリ(モジュール)はPythonごとに入ります。
Anaconda3のpython 3.8.8にvtkを入れても、3.6には入りませんし使えません。
3.6で使いたいなら、そちらにvtkをインストールする必要があります。

投稿2021/08/11 12:55

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pusokungo

2021/08/11 13:05

ご回答ありがとうございます。 Anaconda promptから仮想環境のpyforge(python3.6)をactivate して、そちらでconda installe〜をしたのですがそれではダメなのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問