¿Cómo consigo que IntelliJ reconozca los módulos comunes de Python?

198

Estoy usando IntelliJ 10 IDEA Ultimate Edition.

He creado un nuevo archivo Test.py, e IntelliJ ha cambiado correctamente al modo de análisis de Python. (Puedo confirmar esto escribiendo "d", aparece "def" como sugerencia, y presionar la pestaña correctamente me da "def:")

Sin embargo, cuando intento este código ...

import os

cwd = os.getcw <Ctrl-space>

Suceden dos cosas ...

  1. Aparece un subrayado irregular debajo del sistema operativo y al pasar el mouse sobre él aparece el mensaje "Referencia no resuelta".
  2. No recibo sugerencias al presionar Ctrl-espacio arriba, cuando espero ver "getcwd".

Supongo que esto debe ser el resultado de que no configuré IntelliJ correctamente para manejar los módulos de Python, pero no tengo idea de qué me estoy perdiendo.

¿Algún usuario de IntelliJ / Python puede ayudarme?

Toddarooski
fuente

Respuestas:

208

Simplemente cree y agregue Python SDK

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

y seleccione la ruta de instalación de su intérprete de Python (por ejemplo, C:\Python26en Windows y /usr/bin/python2.7en Linux) como la ruta de inicio.

Discusión relacionada: http://devnet.jetbrains.net/thread/286883

db42
fuente
66
Sigue siendo cierto hoy. OSX - / usr / bin / python
ThinkBonobo
2
Hoy en OSX El Capitan utilicé este consejo (¡gracias!); FWIW, estaban los intérpretes de Python (tenía 2.6 y 2.7 instalados) /Library, pero IntelliJ los encontró muy bien cuando creé un virtualenv.
Dawngerpony
20
Hecho eso, no hay cambio.
OrangeDog
55
Para Mac con una versión de Python instalada en homebrew (recomendable para El Capitan y más allá debido a restricciones en los directorios del sistema), lo desea /usr/local/bin/python.
Dawngerpony
Además de esto, también tuve que configurar la faceta (ver la respuesta a continuación por @linuts)
Janac Meena
134

¿Has configurado una faceta de intérprete de Python?

Estructura de proyecto abierta CTRL+ ALT+ SHIFT+S

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

Luego:

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

linuts
fuente
1
v12.1.4 no tiene la opción de menú Configuración de proyecto> Facetas, pero la solución de @ db42 funcionó de
maravilla
He creado una faceta, y no funcionó, ¡tu respuesta fue la solución! maravilloso! :)
Rodislav Moldovan
Impar. No sé qué es una faceta, así que lo busqué y la página siguiente no muestra Python como una faceta disponible. jetbrains.com/idea/help/…
netskink
1
IntelliJ IDEA 14 Ultimate tiene esta característica, y funcionó perfectamente sin romper la detección de mi módulo Java como lo hizo la respuesta de db42.
Patrick M
después de hacer esto, ni siquiera muestra sugerencias para módulos integrados en los que anteriormente estaba allí
Bharat
76

Si su SDK de Python está configurado correctamente y aún enfrenta el problema de que no se reconocen los componentes integrados, intente esto:

File -> Invalidate Caches/Restart
Montaña
fuente
2
Después de volver a agregar un entorno virtual 5 veces, esto me ayudó a solucionarlo con IDEA 2016.2.1
dlite922
Esto fue solucionado el problema para mí después de haber agregado un entorno virtual.
Andrea Bergonzo
He descubierto que dejar de fumar y el relanzamiento de IntelliJ lo fijó para mí, supongo que es la misma cosa sin embargo
drevicko
18

Esto es lo que tuve que hacer. (Y probablemente olvidé un aspecto importante de mi problema, que es que originalmente no se configuró como un proyecto de Python, sino como un proyecto de Java, con algunos archivos de Python en ellos).

Configuración del proyecto -> Módulos -> Botón más (agregar un módulo) -> Python

Luego, haga clic en el botón "..." al lado de Python Interpreter.

En el cuadro de diálogo "Configurar SDK" que aparece, haga clic en el botón "+". Seleccione "Python SDK", luego seleccione el acceso directo predeterminado "Python" que aparece en mi cuadro de diálogo del buscador

Espera unos 5 minutos. Lea algunos consejos de productividad. :)

Haga clic en Aceptar

Espere a que el sistema reconstruya algunos índices.

¡Hurra! ¡La sugerencia de código ha vuelto para mis módulos!

Toddarooski
fuente
2
"Espere unos 5 minutos. Lea algunos consejos de productividad". impresionante
Kirby
Esto aparentemente resolvió mis problemas (también mi proyecto fue creado inicialmente como un proyecto Java)
Andrea Bergonzo
5

Otra posible solución (resolvió mi problema)

Es posible que haya configurado el entorno correctamente, pero por alguna razón se rompió en el camino. En este caso ve a:

file > project settings > modules

Implemente la lista de SDK y busque una línea roja con [invalid] al final. Si encuentra uno, debe recrear un sdk de Python.

Es probable que su SDK que funcionaba anteriormente también esté allí, pero no en rojo. Bórralo.

Ahora puede hacer clic en el newbotón y agregar su python virtualenv favorito. Y debería funcionar ahora.

Romain Vincent
fuente
3

Pocos pasos que me ayudaron (algunos de ellos se mencionan anteriormente):

Estructura abierta del proyecto por:

comando +; (usuarios de mac) O haga clic derecho en el proyecto ->Abrir configuración del módulo

  1. Facetas ->+ ->Python -><your-project> ->OK
  2. Módulos ->Python -><seleccionar intérprete de python>
  3. Proyecto ->Proyecto SDK-> <seleccionar SDK relevante>
  4. SDK -><asegúrese de que sea el correcto>

Hacer clic OK.

Abra Ejecutar / Depurar configuraciones por: Ejecutar ->Editar configuraciones

  1. Python Interpreter -><asegúrese de que sea el correcto>

Haga clic OK.

Eli
fuente
1

Así es como resolví mi problema (importé el proyecto y solo se mostraba allí, los archivos recién creados no mostraban esos errores):

1) Comando + alt + R (Control en caso de ventanas

2) Aparecerá la ventana de depuración, seleccione su archivo y presione la flecha derecha (->) y elija Editar y luego presione Intro (aparecerá la ventana Editar configuración de configuración)

3) En la configuración, en la parte inferior puede ver el error (seleccione un módulo con un sdk de Python válido), así que en Python Interpreter, marque Usar intérprete especificado, luego en el menú desplegable seleccione su versión de Python

(En caso de que Python no esté allí, descargue el complemento de Python para intelliJ usando el siguiente enlace https://www.jetbrains.com/help/idea/2016.3/installing-updating-and-uninstalling-repository-plugins.html

4) Haga clic en aplicar y luego ciérrelo.

Bingo está hecho.

Hulesh Chandra
fuente
0

Use un archivo de requisitos (vea el enlace a la documentación de JetBrains)

En mi caso lo necesitaba arrow. Entonces, agregué

arrow==0.7.0

a mis proyectos requirements.txt

Luego, Intellij me solicitó agregar la biblioteca la primera vez que escribí import arrowen un script de Python

Kirby
fuente
0

Mi problema era similar al de @Toddarooski, excepto que el módulo que tenía, en la pestaña "Dependencias", no tenía ningún SDK en la lista. Hice clic derecho en 'SDK', elegí editar del menú desplegable y seleccioné mi Python SDK. Eso hizo el truco.

usuario108569
fuente
0

Lo hice funcionar después de que desmarqué las siguientes opciones en las Configuraciones de ejecución / depuración para main.py

Add content roots to PYTHONPATH

Add source roots to PYTHONPATH

Esto es después de haber invalidado el caché y reiniciar.

usuario3079474
fuente
0

Incluso mi Intellisense en Pycharm no funcionaba para módulos como el tiempo. Problema en mi sistema: no se seleccionó ningún intérprete. Ir a Archivo -> Configuración ... (Ctrl + Alt + S) Abrir intérprete de proyecto

Intérprete de proyecto en mi casofue seleccionado. Seleccioné el intérprete de Python disponible. Si no está disponible, puede agregar un nuevo intérprete.

PIYUSH
fuente