2012-11-21 17 views
14

Próbuję zainstalować Pythona w VTK na moim komputerze, ale gdy chcę zaimportować VTK, otrzymuję błąd:ImportError: No module o nazwie vtkCommonPython

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 

ja już sprawdziłem ścieżki i mam plik "vtkCommonPython.pyd" w folderze bin.

Czy ktoś może mi pomóc w rozwiązaniu tego problemu?

+5

Czy masz plik vtkCommonPython.pyd na ścieżce Pythona? Czy plik znajduje się w jednym z katalogów '' sys.path''? – codeape

Odpowiedz

0

Musi być w katalogu sys.path. To, co zrobiłem, to stworzyłem folder (nie ważne gdzie) nazwany "Modułami", w którym mam wszystkie moje moduły, które tam pobieram/tworzę. Powiedz, że umieściłem to w C:\Users\USER\Modules. Możesz również umieścić tam ten moduł.

Musisz skopiować ścieżkę do folderu.

Następnie przejdź do Panelu sterowania. Kliknij System, a następnie na lewym panelu pojawi się opcja "Zaawansowane ustawienia systemu". Kliknij to. W dolnej części okna, które się pojawi, kliknij "Zmienne środowiskowe". Sprawdź, czy masz zmienną utworzoną o nazwie PYTHONPATH. Najprawdopodobniej nie. Utwórz zmienną (w drugiej sekcji), naciskając "NEW". Nazwij go PYTHONPATH, a dla wartości zmiennej umieść ścieżkę pliku. (Dla mojego przykładu ścieżka pliku to C:\Users\USER\Modules). Nadzieję, że to pomaga :)

włożeniu zrzut ekranu, jak się tam dostać, gdy dojdziesz do Systemu (Właściwości) lokalizacji w Panelu sterowania: Python Path

+0

Po wykonaniu tej czynności można zaimportować dowolny plik ".py" (zakładając, że może on działać - nie ma żadnych błędów) i używać go w dowolnym innym programie w języku Python. –

+0

Dziękuję, ale już dodałem PYTHONPATH do moich zmiennych środowiskowych. A plik vtkCommonPython.pyd znajduje się w folderze PYTHONPATH. Wszelkie inne sugestie? – user1842222

+0

Czy znalazłeś problem? Mam ten sam problem. –

3

wpadłem na bardzo podobny problem i naprawić go przez dodanie /usr/local/lib/python2.7/site-packages/vtk/ do zmiennej środowiskowej PYTHONPATH.

Twoja dokładna poprawka może się różnić w zależności od wersji pythona, itp. (Wpływa na ścieżki). Powinieneś być w stanie go posortować, lokalizując brakujący moduł, a następnie dodając ścieżkę do zmiennej środowiskowej w następujący sposób.

W moim przypadku, znalazłem ścieżkę przy użyciu:

find/-name vtkCommonCorePython 2>/dev/null 

A potem dodaje odpowiednią ścieżkę do ~/.bash_rc lub równoważny.

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

Należy uważać, aby dołączyć do zmiennej PATH zamiast nadpisywania go - prawdopodobnie już trzeba mieć jakieś inne rzeczy jak „/ usr/local/lib /” w środku. Format (i plik, w którym to umieścisz!) Jest różny dla różnych powłok.

Restart terminal, aby uzyskać poprzez zmiany, a następnie sprawdzić, czy zmienna jest poprawnie skonfigurowany:

echo $PYTHONPATH 

I być bardzo ostrożny, że nie ma żadnych błędów w każdym z torów!

2

Miałem ten sam problem na MacOSX. Więc zacząłem używać vtk/bin/vtkpython zamiast python. To pozwoliło mi zaimportować vtk bez żadnych błędów.I następnie importowane vtkCommonCorePython wyraźnie i drukowane lokalizację:

$ /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'> 

W terminalu, ja dodaje folder lib do mojego Pythona ścieżki wirtualnej Środowisko:

$ add2virtualenv /home/vtk/lib 

nie wiem, jak by to tłumaczyć do systemu Windows, ale mam nadzieję, że to pomoże!

0

Musisz dodać folder vtkCommonPython.pyd również do ścieżki systemowej (jak gdyby była to biblioteka dll). Zobacz także http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup

+0

Mam ten sam błąd: Brak modułu o nazwie "vtk.vtkRenderingQtPython". Mój komputer to win7. Mogę znaleźć vtkRenderingQtPython.pyd w vtk/bin/Debug. I dodaję folder do środowiska systemowego "PYTHONPATH". Ale błąd nadal istniał. Jak mogę naprawić ten błąd? –

1

Miałem ten sam problem (kubuntu 14.04).

Zdałem sobie sprawę, że linki do skompilowanych obiektów vtkpython w /usr/lib/python2.7/dist-packages/vtk zostały zerwane.

Poszedłem więc do /usr/lib/x86_64-linux-gnu i uruchomiłem for i in *-6.0.so.6.0; do sudo ln -s $i ${i/-6.0.so.6.0/-6.0.so}; done.

Wydawało się, że rozwiązuje problem.

Nadzieję, że pomaga.

3

Oprócz sprawdzenia, że ​​vtk jest wewnątrz $PYTHONPATH, również pamiętać, że nowsze wersje VTK (6.x) nie mają już moduł vtkCommonPython. Zamiast tego został podzielony na kilka pod-komponentów. (Np vtkCommonCorePython, vtkCommonMathPython, vtkCommonSystemPython), ale w większości przypadków problem dla opakowań zewnętrznych może chcesz używać (np VMTK jest domyślnie skompilowane przed i dependend upon VTK 5.10

Aby sprawdzić i rozwinąć swoje $PYTHONPATH po prostu zadzwonić.

$ 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 

Aby sprawdzić, które vtk wersja została zainstalowana:

$ python 
Python 2.7.10 
>>> import vtk 
>>> print str(vtk.VTK_MAJOR_VERSION) + '.' + str(vtk.VTK_MINOR_VERSION) 
6.2 
0

Zakładając, że stosuje się sugerować Ścieżki ED w instructions, dodaj następującą linię do bashrc:

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

Jeśli problem występuje podczas korzystania z sudo, np

sudo yum install mayavi 

Prawdopodobnie musisz rozwiązać this issue. Dodaj następujący wiersz do bashrc:

alias sudo=’sudo env PYTHONPATH=$PYTHONPATH’ 

Full instructions

0

W oknach,

Powinieneś dodać następującą ścieżkę
dodać foldery zawierające pliki .dll .pyd i do Zmienna środowiskowa PYTHONPATH.

przykład:

D: \ VTK \ VTK-bin \ bin \ Release \ lib \ site-pakiety \ vtkmodules
D: \ VTK \ VTK-bin \ bin \ Release

Dodatkowo dodać ścieżkę do folderu bin Qt do zmiennej systemowej C: \ Qt \ 5.10.0 \ msvc2017_64 \ bin

Powiązane problemy