web-dev-qa-db-fra.com

ImportError: Aucun module nommé vtkCommonPython

J'essaie d'installer Python avec VTK sur mon ordinateur, mais lorsque je veux importer VTK, un message d'erreur s'affiche:

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 

J'ai déjà vérifié mes chemins et j'ai le fichier 'vtkCommonPython.pyd' dans le dossier bin.

Quelqu'un peut-il m'aider avec ce problème?

18
user1842222

En plus de vérifier que vtk se trouve dans votre $PYTHONPATH, notez également que les versions plus récentes de VTK (6.x) ne comportent plus de module vtkCommonPython. Au lieu de cela, il a été divisé en plusieurs sous-composants. (par exemple, vtkCommonCorePython, vtkCommonMathPython, vtkCommonSystemPython), mais ce sera principalement un problème pour les packages externes que vous voudrez peut-être utiliser (par exemple, VMTK est compilé par défaut et dépend de VTK 5.10 .

Pour vérifier et développer votre $PYTHONPATH, appelez simplement:

$ 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

Pour vérifier quelle version vtk vous avez installée:

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

J'ai rencontré un problème très similaire que j'ai corrigé en ajoutant /usr/local/lib/python2.7/site-packages/vtk/ à la variable d'environnement PYTHONPATH.

Votre correction exacte peut varier en fonction de votre version de python, etc. (cela affecte les chemins). Vous devriez pouvoir le trier en localisant l'emplacement du module manquant, puis en ajoutant le chemin d'accès à la variable d'environnement comme suit.

Dans mon cas, j'ai trouvé le chemin en utilisant:

find / -name vtkCommonCorePython 2>/dev/null

Et puis ajouté le chemin correspondant à ~/.bash_rc ou équivalent.

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

Veillez à ajouter à la variable de chemin plutôt que de l'écraser - vous avez probablement déjà besoin d'autres éléments tels que '/ usr/local/lib /'. Le format (et le fichier où vous mettez ceci!) Est différent pour différents shells.

Redémarrez le terminal pour obtenir les modifications, puis vérifiez que la variable est correctement configurée:

echo $PYTHONPATH

Et faites très attention à ce qu'il n'y ait pas d'erreur dans les chemins!

3
GnomeDePlume

J'avais ce même problème sur MacOSX. J'ai donc commencé à utiliser vtk/bin/vtkpython au lieu de python. Cela m'a permis d'importer vtk sans erreur. J'ai ensuite importé vtkCommonCorePython explicitement et imprimé l'emplacement:

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

Dans le terminal, j’ai ensuite ajouté le dossier lib à mon chemin d’environnement virtuel python:

$ add2virtualenv /home/vtk/lib

Je ne sais pas comment cela se traduirait sous Windows, mais j'espère que cela aidera!

3
David E.

J'avais le même problème (kubuntu 14.04).

J'ai réalisé que les liens vers les objets vtkpython compilés dans /usr/lib/python2.7/dist-packages/vtk étaient rompus.

Alors je suis allé à /usr/lib/x86_64-linux-gnu et ai couru for i in *-6.0.so.6.0; do Sudo ln -s $i ${i/-6.0.so.6.0/-6.0.so}; done.

Cela semblait résoudre le problème.

J'espère que cela pourra aider.

2
Martin

En supposant que vous ayez utilisé les chemins suggérés dans le instructions , ajoutez la ligne suivante à votre bashrc:

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

Si le problème survient lors de l’utilisation de Sudo, par exemple,.

Sudo yum install mayavi

vous devez probablement résoudre ce problème . Ajoutez la ligne suivante à la bashrc:

alias Sudo=’Sudo env PYTHONPATH=$PYTHONPATH’

Instructions complètes

0
Lila

Vous devez également ajouter le dossier de vtkCommonPython.pyd au chemin du système (comme s'il s'agissait d'une dll). Voir aussi http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup

0
lib

Aux fenêtres,

Vous êtes censé ajouter le chemin suivant
Ajoutez les dossiers contenant les fichiers .pyd et .dll à la variable d’environnement PYTHONPATH.

Exemple:

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

En outre, ajoutez le chemin d'accès au dossier bin de Qt à la variable système PATH C:\Qt\5.10.0\msvc2017_64\bin

0
Sarangan

Il doit être dans le répertoire du sys.path. Ce que j’ai fait, c’est que j’ai créé un dossier (peu importe où) appelé "Modules" dans lequel j’y ai tous les modules que je télécharge/crée. Disons que je l'ai mis dans C:\Users\USER\Modules. Vous pouvez également mettre ce module là-dedans.

Vous devez copier le chemin dans le dossier.

Ensuite, accédez au Panneau de configuration. Cliquez sur Système, puis sur le panneau de gauche, une option appelée "Paramètres système avancés". Cliquez dessus. Au bas de la fenêtre qui apparaît, cliquez sur "Variables d'environnement". Regardez pour voir si vous avez créé une variable appelée PYTHONPATH. Très probablement, vous ne le faites pas. Créez donc une variable (dans la deuxième section) en appuyant sur "NEW". Nommez-la PYTHONPATH et pour la valeur de Variable, insérez-la dans le chemin du fichier. (Pour mon exemple, le chemin du fichier est C:\Users\USER\Modules). J'espère que cela t'aides :)

J'ai inséré une capture d'écran expliquant comment y arriver une fois que vous êtes arrivé à l'emplacement Système (Propriétés) dans le Panneau de configuration: Python Path

0
Rushy Panchal