web-dev-qa-db-fra.com

PyCharm ne trouve pas de bibliothèque

J'utilise PyCharm 5 pour exécuter un script Python 2.7 (Anaconda) dans Ubuntu. Mon script importe un module avec import tensorflow, mais cela provoque l'erreur ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory. Il semble donc que la bibliothèque libcudart.so.7.0 est nécessaire à ce module, mais il est introuvable.

Maintenant, j'ai vu que cette bibliothèque est sur ma machine dans /usr/local/cuda-7.0/targets/x86_64-linux/lib. Donc, dans PyCharm, je suis allé à Settings->Project Interpreters->Interpreter Paths. Il y avait une liste de chemins, tels que /home/karnivaurus/Libraries/Anaconda/python2.7. J'ai ensuite ajouté à cette liste, le chemin mentionné ci-dessus qui contient la bibliothèque requise.

Cependant, cela n'a pas résolu le problème. Je reçois toujours une erreur me disant que libcudart.so.7.0 ne peut être trouvé. Si j'exécute mon script à partir du shell (python myfile.py), alors ça marche bien.

Comment puis-je dire à PyCharm où trouver cette bibliothèque?


J'ai remarqué que si j'ai print sys.path dans mon script, les chemins qu'il imprime sont entièrement différents de ceux de Settings->Project Interpreters->Interpreter Paths... devraient-ils être les mêmes?

19
Karnivaurus

J'ai rencontré ce problème récemment en utilisant un débogueur distant, mais je pense que c'est toujours la même solution. Je viens d'ajouter ce qui suit à la section Variables d'environnement dans les options de configuration Exécuter/Déboguer trouvées dans la boîte de dialogue Exécuter> Modifier les configurations ...: LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

33
ktx

Le chemin vers votre bibliothèque cuda me semble étrange. Je m'attendrais à ce que ce soit /usr/local/cuda-7.0/lib64 ou /usr/local/cuda-7.0/lib.

Avez-vous suivi toute la procédure installation cuda ?

Si vous tapez env sur la ligne de commande, voyez-vous un chemin vers cuda dans votre LD_LIBRARY_PATH?


Mise à jour à partir des commentaires ci-dessous:

Le problème est que PyCharm a été invoqué depuis le bureau et n'obtenait pas les bonnes variables d'environnement. La solution consiste à:

  • invoquer depuis la ligne de commande,
  • créer un script pour définir l'environnement, puis invoquer et créer un lien vers ce script sur le bureau,
  • ou définir des variables d'environnement sur l'élément de bureau
14
Laizer

Bien que certaines de ces réponses soient correctes et puissent fonctionner, je n'ai pas vu ce que l'OP demandait spécifiquement, et c'est là que définir les environnements pour la console python. Cela peut être accompli à l'intérieur pycharm à:

Fichier> Paramètres> Build, Execution, Deployment> Console> Python Console

Dans les options, vous trouverez un endroit pour définir les variables d'environnement. Définissez LD_LIBRARY_PATH ici. enter image description here

8
John

Modifiez votre pycharm.desktop, spécifiez la variable d'environnement dans exec, comme ci-dessous:

[Desktop Entry]
Version=1.0
Type=Application
Name=Pycharm
Exec=env LD_LIBRARY_PATH=:/usr/local/cuda/lib64:/usr/local/cuda/lib64 /home/cwh/software/pycharm-2016.1.4/bin/pycharm.sh
Icon=/home/cwh/software/pycharm-2016.1.4/bin/pycharm.png
Name[zh_CN]=Pycharm

donc pycharm trouvera cuda

3
风间月

Avez-vous sélectionné le bon python interprète dans les paramètres de votre projet? Voir ici .

J'ai eu un problème similaire et le changement d'interprète l'a résolu sans avoir à créer une nouvelle icône.

2
Seb