Comment puis-je faire en sorte qu'IntelliJ reconnaisse les modules Python courants?

198

J'utilise IntelliJ 10 IDEA Ultimate Edition.

J'ai créé un nouveau fichier Test.py et IntelliJ est correctement passé en mode d'analyse Python. (Je peux confirmer cela en tapant "d", il apparaît "def" comme suggestion, et en appuyant correctement sur tab, je reçois "def:")

Cependant, lorsque j'essaie ce code ...

import os

cwd = os.getcw <Ctrl-space>

Deux choses se produisent ...

  1. Je reçois un soulignement crochu sous le système d'exploitation et le survolant me donne un message "os non référencé"
  2. Je ne reçois aucune suggestion en appuyant sur Ctrl-espace ci-dessus, lorsque je m'attends à voir "getcwd".

Je suppose que cela doit être le résultat de ma configuration incorrecte d'IntelliJ afin de gérer les modules python, mais je n'ai aucune idée de ce qui me manque.

Des utilisateurs IntelliJ / Python peuvent-ils m'aider?

Toddarooski
la source

Réponses:

208

Créez et ajoutez simplement le SDK Python

File -> Project Structure -> Project -> Project SDK -> new

et sélectionnez le chemin d'installation de votre interpréteur Python (par exemple, C:\Python26dans Windows et /usr/bin/python2.7sous Linux) comme chemin d'accueil.

Discussion connexe: http://devnet.jetbrains.net/thread/286883

db42
la source
6
Encore vrai aujourd'hui. OSX - / usr / bin / python
ThinkBonobo
2
Aujourd'hui sur OSX El Capitan, j'ai utilisé cette astuce (merci!); FWIW, les interprètes python (j'avais 2.6 et 2.7 installés) étaient /Librarydedans, mais IntelliJ les a trouvés très bien quand j'ai créé un virtualenv.
Dawngerpony
20
Fait cela, aucun changement.
OrangeDog
5
Pour Mac avec une version installée en homebrew de Python (recommandé pour El Capitan et au-delà en raison des restrictions sur les répertoires système), vous le souhaitez /usr/local/bin/python.
Dawngerpony
En plus de cela, j'ai également dû configurer la facette (voir la réponse ci-dessous par @linuts)
Janac Meena
134

Avez-vous mis en place une facette d'interpréteur python?

Ouvrir la structure du projet CTRL+ ALT+ SHIFT+S

Project settings -> Facets -> expand Python click on child -> Python Interpreter

Ensuite:

Project settings -> Modules -> Expand module -> Python -> Dependencies -> select Python module SDK

linuts
la source
1
v12.1.4 N'a pas l'option de menu Paramètres du projet> Facettes, mais la solution de @ db42 a fonctionné
Trindaz
J'ai créé une facette, et cela n'a pas fonctionné, votre réponse a été la solution !! magnifique! :)
Rodislav Moldovan
Impair. Je ne sais pas ce qu'est une facette alors je l'ai recherchée et la page ci-dessous ne montre pas le python comme une facette disponible. jetbrains.com/idea/help/…
netskink
1
IntelliJ IDEA 14 Ultimate a cette fonctionnalité, et cela a fonctionné parfaitement sans casser la détection de mon module Java comme l'a fait la réponse de db42.
Patrick M du
après cela, il ne montre même pas de suggestions de modules intégrés auxquels il était auparavant
Bharat
76

Si votre Kit de développement logiciel (SDK) Python est correctement configuré et que vous rencontrez toujours le problème que les prédéfinis ne sont pas reconnus, essayez ceci:

File -> Invalidate Caches/Restart
Alp
la source
2
Après avoir ajouté un env virtuel 5 fois, cela a aidé à le corriger pour moi avec IDEA 2016.2.1
dlite922
Ce problème a été résolu pour moi après avoir ajouté un env virtuel.
Andrea Bergonzo
J'ai trouvé qu'arrêter et relancer IntelliJ l'avait corrigé pour moi, je suppose que c'est la même chose cependant
drevicko
18

Voici ce que je devais faire. (Et j'ai probablement oublié un aspect important de mon problème, qui est qu'il n'a pas été configuré comme un projet Python à l'origine, mais comme un projet Java, avec quelques fichiers python.)

Paramètres du projet -> Modules -> bouton Plus (ajouter un module) -> Python

Ensuite, cliquez sur le bouton "..." à côté de Python Interpreter.

Dans la boîte de dialogue "Configurer le SDK" qui apparaît, cliquez sur le bouton "+". Sélectionnez "Python SDK", puis sélectionnez le raccourci "Python" par défaut qui apparaît dans ma boîte de dialogue du Finder

Attendez environ 5 minutes. Lisez quelques conseils de productivité. :)

Cliquez sur OK

Attendez que le système reconstruise certains index.

Hourra! Le code hinting est de retour pour mes modules!

Toddarooski
la source
2
"Attendez environ 5 minutes. Lisez quelques conseils de productivité." génial
Kirby
Cela a apparemment résolu mes problèmes (également mon projet a été initialement créé comme un projet Java)
Andrea Bergonzo
5

Une autre solution possible (résolu mon problème)

Vous avez peut-être configuré l'environnement correctement, mais pour une raison quelconque, il s'est rompu en cours de route. Dans ce cas, allez à:

file > project settings > modules

Déployez la liste des SDK et recherchez une ligne rouge avec [invalid] à la fin. Si vous en trouvez un, vous devez recréer un sdk python.

Il est probable que votre SDK fonctionnant précédemment est également présent, mais pas en rouge. Supprime-le.

Vous pouvez maintenant cliquer sur le newbouton et ajouter votre virtualenv python préféré. Et ça devrait marcher maintenant.

Romain Vincent
la source
3

Quelques étapes qui m'ont aidé (certaines d'entre elles sont mentionnées ci-dessus):

Ouvrir la structure du projet en:

commande +; (utilisateurs mac) OU clic droit sur le projet ->Ouvrir les paramètres du module

  1. Facettes ->+ ->Python -><votre-projet>-> OK
  2. Modules ->Python-> <sélectionner l'interpréteur python>
  3. Project ->Project SDK-> <sélectionner le SDK approprié>
  4. SDK -><assurez-vous que c'est le bon>

Cliquez sur OK.

Ouvrez les configurations d'exécution / débogage par: Exécuter les ->configurations d'édition

  1. Interpréteur Python -><assurez-vous que c'est le bon>

Cliquez OK.

Eli
la source
1

Voici comment j'ai résolu mon problème (j'ai importé le projet et il ne montrait que là, les fichiers nouvellement créés ne montraient pas ces erreurs):

1) Commande + alt + R (Contrôle en cas de fenêtres

2) La fenêtre de débogage apparaîtra, sélectionnez votre fichier et appuyez sur la flèche droite (->) et choisissez Modifier puis appuyez sur Entrée (la fenêtre Modifier les paramètres de configuration apparaîtra)

3) Sous la configuration, en bas, vous pouvez voir l'erreur (veuillez sélectionner un module avec un sdk python valide), donc dans Python Interpreter, cochez Use Specified Interpreter, puis dans le menu déroulant, sélectionnez votre version Python

(Dans le cas où python n'est pas là, téléchargez le plugin python pour intelliJ en utilisant le lien suivant https://www.jetbrains.com/help/idea/2016.3/installing-updating-and-uninstalling-repository-plugins.html

4) Cliquez sur appliquer puis fermez-le.

Bingo c'est fait.

hulesh chandra
la source
0

Utilisez un fichier d'exigences (voir le lien vers la documentation JetBrains)

Dans mon cas, j'avais besoin arrow. J'ai donc ajouté

arrow==0.7.0

à mes projets requirements.txt

Puis Intellij m'a invité à ajouter la bibliothèque la première fois que j'ai écrit import arrowdans un script Python

Kirby
la source
0

Mon problème était similaire à celui de @Toddarooski, sauf que le module que j'avais, sous l'onglet "Dépendances", n'avait pas de SDK répertorié. J'ai cliqué avec le bouton droit sur 'SDK', choisi edit dans le menu déroulant et sélectionné mon SDK Python. Cela a fait l'affaire.

user108569
la source
0

Je l'ai fait fonctionner après avoir décoché les options suivantes dans les configurations Run / Debug pour main.py

Add content roots to PYTHONPATH

Add source roots to PYTHONPATH

C'est après avoir invalidé le cache et redémarré.

user3079474
la source
0

Même mon Intellisense dans Pycharm ne fonctionnait pas pour les modules comme le temps Le problème dans mon système était qu'aucun interprète n'était sélectionné Aller dans Fichier -> Paramètres ... (Ctrl + Alt + S) Ouvrir l' interpréteur de projet

Interprète de projet Dans mon casa été choisi. J'ai sélectionné l'interpréteur python disponible. S'il n'est pas disponible, vous pouvez ajouter un nouvel interprète.

PIYUSH
la source