ImportError:没有名为vtkCommonPython的模块

时间:2012-11-21 14:21:10

标签: python vtk

我正在尝试使用VTK在我的计算机上安装Python,但是当我想导入VTK时,我收到错误:

import vtk 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module>
 File "C:\vtk\Wrapping\Python\vtk\__init__.py", line 41, in <module>
   from vtkCommonPython import * 
ImportError: No module named vtkCommonPython 

我已经检查了路径,并且bin文件夹中有'vtkCommonPython.pyd'文件。

任何人都可以帮我解决这个问题吗?

8 个答案:

答案 0 :(得分:3)

我遇到了一个非常类似的问题,并通过将/usr/local/lib/python2.7/site-packages/vtk/添加到PYTHONPATH环境变量来修复它。

您的确切修复可能会因您的python版本等而异(它会影响路径)。您应该能够通过找到丢失模块的位置进行排序,然后将路径添加到环境变量,如下所示。

就我而言,我找到了使用路径:

find / -name vtkCommonCorePython 2>/dev/null

然后将相关路径添加到〜/ .bash_rc或等效路径。

export PYTHONPATH="$PYTHONPATH:usr/local/lib/python2.7/site-packages/vtk/"

小心你附加到路径变量而不是覆盖它 - 你可能已经需要一些其他东西,如&#39; / usr / local / lib /&#39;在那里。对于不同的shell,格式(以及放置此文件的文件!)是不同的。

重新启动终端以获取更改,然后检查变量是否已正确设置:

echo $PYTHONPATH

要非常小心,任何路径都没有错误!

答案 1 :(得分:3)

我在MacOSX上遇到同样的问题。所以我开始使用vtk / bin / vtkpython而不是python。这允许我导入vtk而没有任何错误。然后我明确导入了vtkCommonCorePython并打印了位置:

$ /home/vtk/bin/vtkpython
vtk version 6.2.0
Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtkCommonCorePython 
>>> print vtkCommonCorePython
<module 'vtkCommonCorePython' from '/home/vtk/lib/vtkCommonCorePython.so'>

在终端中,我将lib文件夹添加到我的python虚拟环境路径:

$ add2virtualenv /home/vtk/lib

我不知道这会如何转化为Windows,但我希望这会有所帮助!

答案 2 :(得分:2)

我遇到了同样的问题(kubuntu 14.04)。

我意识到/usr/lib/python2.7/dist-packages/vtk中已编译的vtkpython对象的链接已被破坏。

所以我去了/usr/lib/x86_64-linux-gnu然后跑了for i in *-6.0.so.6.0; do sudo ln -s $i ${i/-6.0.so.6.0/-6.0.so}; done

似乎解决了这个问题。

希望有所帮助。

答案 3 :(得分:2)

除了检查vtk中是否有$PYTHONPATH,还请注意,VTK (6.x)的更新版本不再具有vtkCommonPython模块。相反,它被分成几个子组件。 (例如vtkCommonCorePythonvtkCommonMathPythonvtkCommonSystemPython),但这对于您可能想要使用的外部包主要是一个问题(例如,VMTK默认编译为$PYTHONPATH {3}}

要检查并展开您的$ echo $PYTHONPATH /usr/local/lib/python2.7/site-packages $ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/vtk $ echo $PYTHONPATH /usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/vtk ,只需致电:

vtk

检查已安装的$ python Python 2.7.10 >>> import vtk >>> print str(vtk.VTK_MAJOR_VERSION) + '.' + str(vtk.VTK_MINOR_VERSION) 6.2 版本:

0.327
0.325
0.327
0.35
0.3585
#N/A
#N/A
0.361
0.377
0.364
0.373
0.393
#N/A
#N/A
0.398
0.405
0.42

答案 4 :(得分:0)

它必须位于sys.path的目录中。我所做的是创建了一个名为“模块”的文件夹(并不重要),我在其中下载/创建了所有模块。说我把它放在C:\Users\USER\Modules中。您也可以将此模块放在那里。

您需要将路径复制到该文件夹​​。

然后,转到“控制面板”。单击System,然后在左侧面板上有一个名为“Advanced System Settings”的选项。点击它。从弹出窗口的底部,单击“环境变量”。查看是否有一个名为PYTHONPATH的变量。最有可能的是,你没有。因此,按“NEW”创建一个变量(在第二部分中)。将其命名为PYTHONPATH,并将变量值命名为文件路径。 (对于我的示例,文件路径为C:\Users\USER\Modules)。希望这会有所帮助:)

我插入了一个屏幕截图,了解了如何到达控制面板中的系统(属性)位置: Python Path

答案 5 :(得分:0)

您还需要将vtkCommonPython.pyd的文件夹添加到系统路径(如果它是一个dll)。 另请参阅http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup

答案 6 :(得分:0)

假设您使用了instructions中建议的路径,请将以下行添加到您的bashrc中:

export PYTHONPATH=$HOME/projects/VTK-build/lib:$HOME/projects/VTK-build/Wrapping/Python:$PYTHONPATH

如果使用sudo时出现问题,例如

sudo yum install mayavi

您可能需要解决this issue。将以下行添加到bashrc:

alias sudo=’sudo env PYTHONPATH=$PYTHONPATH’

Full instructions

答案 7 :(得分:0)

在Windows中,

您应该添加以下路径
将包含.pyd和.dll文件的文件夹添加到PYTHONPATH环境变量中。

示例:

d:\ VTK \ VTK槽\ BIN \发布\ LIB \站点包\ vtkmodules
d:\ VTK \ VTK槽\ BIN \释放

此外,将Qt的bin文件夹的路径添加到系统变量PATH C:\ Qt的\ 5.10.0 \ msvc2017_64 \ BIN