20

我正在尝试在我的计算机上安装带有 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”。

谁能帮我解决这个问题?

4

8 回答 8

4

我遇到了一个非常相似的问题,并通过添加/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/"

请注意附加到路径变量而不是覆盖它 - 您可能已经需要在其中添加一些其他内容,例如“/usr/local/lib/”。不同的 shell 的格式(和你放这个的文件!)是不同的。

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

echo $PYTHONPATH

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

于 2014-06-25T14:53:27.313 回答
4

我在 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,但我希望这会有所帮助!

于 2015-02-11T17:48:14.500 回答
2

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

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

于是我/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

它似乎解决了这个问题。

希望有帮助。

于 2015-05-01T09:08:35.723 回答
2

除了检查vtk你的内部$PYTHONPATH,还要注意更新的版本VTK (6.x)不再有vtkCommonPython模块。相反,它被分成几个子组件。(例如vtkCommonCorePython, vtkCommonMathPython, vtkCommonSystemPython),但这主要是您可能想要使用的外部包的问题(例如VMTK,默认情况下编译并依赖于VTK 5.10.

要检查和扩展您的$PYTHONPATH简单调用:

$ 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
于 2015-09-09T16:18:36.223 回答
1

它需要在sys.path. 我所做的是创建了一个名为“Modules”的文件夹(在哪里并不重要),其中有我下载/创建的所有模块。说我把它放进去C:\Users\USER\Modules。你也可以把这个模块放在那里。

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

然后,转到控制面板。单击系统,然后在左侧面板上有一个名为“高级系统设置”的选项。点击那个。在弹出的窗口底部,单击“环境变量”。查看您是否创建了一个名为PYTHONPATH. 很可能,你不知道。因此,通过按“NEW”创建一个变量(在第二部分中)。命名它PYTHONPATH并为变量值输入文件路径。(对于我的示例,文件路径是C:\Users\USER\Modules)。希望这可以帮助 :)

一旦你到达控制面板中的系统(属性)位置,我插入了如何到达那里的屏幕截图: 蟒蛇路径

于 2012-11-21T14:47:39.487 回答
0

您还需要将 vtkCommonPython.pyd 的文件夹添加到系统路径中(就像它是一个 dll 一样)。另见http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup

于 2015-02-11T17:54:00.803 回答
0

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

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

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

sudo yum install mayavi

您可能需要解决此问题。将以下行添加到 bashrc:

alias sudo=’sudo env PYTHONPATH=$PYTHONPATH’

完整说明

于 2016-05-30T00:43:10.000 回答
0

在窗户里,

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

例子:

D:\VTK\VTK-bin\bin\Release\Lib\site-packages\vtkmodules
D:\VTK\VTK-bin\bin\Release

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

于 2018-02-21T19:21:34.313 回答