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?
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
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!
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!
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.
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’
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
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
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: