Estoy usando PyCharm para trabajar en un proyecto. El proyecto se abre y configura con un intérprete, y puede ejecutarse con éxito. Las rutas remotas del intérprete se asignan correctamente. Esta parece ser la configuración correcta, pero PyCharm está resaltando mi código válido con errores de "referencia no resuelta", incluso para las funciones integradas de Python. ¿Por qué no parecen detectarse, aunque se ejecuta el código? ¿Hay alguna forma de hacer que PyCharm los reconozca correctamente?
Esta instancia específica del problema es con un intérprete remoto, pero el problema también aparece en los intérpretes locales.
Respuestas:
Archivo | Invalidar cachés ... y reiniciar PyCharm ayuda.
fuente
La respuesta de Dmitry no funcionó para mí.
Obtuve el mío trabajando en Intérpretes del proyecto, seleccionando la pestaña "Rutas" y presionando el botón Actualizar en ese submenú. Se rellena automáticamente con algo llamado "esqueletos de pitón".
editar : captura de pantalla usando PyCharm 3.4.1 (está bastante bien oculto)
fuente
Settings > Project Settings > Project Interpreter > Project Interpreters (gear button > more) > --Select the interpreter-- > Interpreter Paths (Directory Tree button on the right) > Reload List of Paths (Blue refresh-like button)
Hay muchas soluciones para esto, algunas más convenientes que otras, y no siempre funcionan.
Esto es todo lo que puedes probar, pasando de 'rápido' a 'molesto':
File
->Invalidate Caches / Restart
y reinicie PyCharm.Run
->Edit Configurations
->Configuration
->Python Interpreter
.File
->Settings
Project: [name]
->Project Interpreter
-> 'Intérprete de proyecto': icono de engranaje ->More...
File
->Settings
Project: [name]
->Project Interpreter
-> 'Intérprete de proyecto': icono de engranaje ->More...
.idea
carpeta de tu proyecto~/.PyCharm50
en Mac%homepath%/.PyCharm50
en Windowsfuente
En mi caso fue la estructura de directorios. Mi proyecto se ve así:
Así que haga clic derecho en dir_b> "marcar directorio como"> "raíz del proyecto"
fuente
Me encuentro quitando y volviendo a agregar el intérprete remoto para solucionar este problema cuando invalidar cachés o actualizar rutas no funciona.
Utilizo vagabundo y de vez en cuando si agrego una nueva VM a mi configuración multi-vm, el puerto reenviado cambia y esto parece confundir a PyCharm cuando intenta usar el puerto incorrecto para SSH. Cambiar el puerto no parece ayudar a las referencias rotas.
fuente
Si ninguna de las otras soluciones funciona para usted, intente (realizar una copia de seguridad) y elimine su carpeta ~ / .PyCharm40, luego vuelva a abrir PyCharm. Esto matará todas tus preferencias también.
En Mac desea eliminar ~ / Library / Caches / Pycharm40 y ~ / Library / Preferences / PyCharm40.
Y en Windows: C: \ Users \ $ USER.PyCharm40.
fuente
Probado con PyCharm 4.0.6 (OSX 10.10.3) siguiendo estos pasos:
¡Problema resuelto!
fuente
muy fácil
solo tiene que marcar su directorio raíz como: RAÍZ DE FUENTE (rojo) y sus aplicaciones: RAÍZ EXCLUIDA (azul),
entonces la referencia no resuelta desaparecerá.
fuente
Lamento responder esta pregunta, sin embargo, tengo una actualización importante que hacer.
Es posible que también desee revertir su intérprete de proyecto a Python 2.7.6 si está utilizando una versión diferente a la anterior. Esto funcionó para mí en mi instalación de Ubuntu de PyCharm 4.04 professional después de que ninguna de las otras recomendaciones resolvió mi problema.
fuente
Settings -> "Project Interpreters"
, hice clic en el engranaje, y luego"More..."
. Elija el intérprete de python predeterminado (/usr/bin/python2.7
en mi caso), presione"Ok"
y"Apply"
. Luego regresé y elegí el virtualenv real que quería usar."Ok"
y de"Apply"
nuevo, y está arreglado.FileNotFoundError
es una cosa de Python-3 solamente. Después de configurar el intérprete correcto en File-Settings-Project-Interpreter y Run-Edit-Configurations, uno de ellos hizo que el error desapareciera.Puede intentar cerrar Pycharm, eliminar la
.idea
carpeta de su proyecto, luego iniciar Pycharm nuevamente y volver a crear el proyecto. Esto funcionó para mí, mientras que invalidar el caché no.fuente
Finalmente conseguí que esto funcionara después de que ninguna de las soluciones propuestas funcionó para mí. Estaba jugando con un proyecto de django rest framework y estaba usando un virtualenv que había configurado con él. Pude arreglar Pycharm marcando la carpeta raíz como la raíz de las fuentes, pero luego el servidor de django arrojó excepciones de resolución. Entonces, uno funcionaría cuando el otro no, y viceversa.
Finalmente, solo tuve que marcar la subcarpeta como la raíz de las fuentes en pycharm. Entonces mi estructura era así
Esa segunda carpeta de juegos es la que tuve que marcar como la raíz de las fuentes para que todo funcione como se esperaba. Eso no presentó ningún problema para mi escenario, por lo que fue una solución viable.
Solo pensé en compartir en caso de que alguien más pueda usarlo.
fuente
También podría ser un problema de la versión de Python. Tuve que elegir el correcto para que funcione.
fuente
Si desea ignorar solo algunos errores de "referencia no resuelta", también puede decirle PyCharm explícitamente colocando esto delante de su clase / método / función:
fuente
Cerré todos los demás proyectos y ejecuté mi proyecto requerido de forma aislada en Pycharm. Creé un virtualenv separado de pycharm y agregué todos los módulos necesarios usando pip. Agregué este entorno virtual en el intérprete del proyecto. Esto resolvió mi problema.
fuente
Geeze qué pesadilla, mi amalgama de diferentes respuestas de StackOVerflow:
fuente
¡Ninguna de las soluciones anteriores funcionó para mí!
Si está utilizando un entorno virtual para su proyecto, asegúrese de aplicar el
python.exe
archivo que está dentro de su directorio de entorno virtual como intérprete para el proyecto,(Alt + Ctrl + Shift + S)
esto resolvió el problema para mí.fuente
En mi caso, el error de inspección aparece debido a un caso muy específico de código python. Una función mínima que contiene dos funciones numpy y dos accesos a la lista hace que la inspección de mi código dé este tipo de errores.
La eliminación de la línea 'd = 0' en el siguiente ejemplo da un error de referencia no resuelto como se esperaba, pero la lectura no hace que el error desaparezca para el inspector de código. Todavía puedo ejecutar el código sin problemas después.
El borrado de cachés y la recarga de la lista de rutas no funciona. Solo funciona alterar el código con uno de los siguientes parches de ejemplo:
fuente
Ninguna de las respuestas resolvió mi problema.
Lo que me hizo fue cambiar de entorno y volver al mismo entorno.
File->Settings->Project interpreter
Estoy usando entornos conda.
fuente
Me funcionó con una acción mucho más simple :
Beneficio: Pycharm está actualizando esqueletos y todo está bien.
fuente
Si está utilizando
vagrant
el error puede ser causado por un intérprete de Python incorrecto. En nuestrovagrant
estamos utilizando,pyenv
así que tuve que cambiar elPython Interpreter path
camino de/usr/bin/python
a/home/vagrant/.pyenv/versions/vagrant/bin/python
fuente
Tengo un proyecto donde un archivo
src/
importa otro archivo en el mismo directorio. Para que PyCharm reconozca, tuve que ir a Archivo> Configuración> Proyecto> Estructura del proyecto> seleccionarsrc
carpeta y hacer clic en "Marcar como: Fuentes"Desde https://www.jetbrains.com/help/pycharm/configuring-folders-within-a-content-root.html
fuente
Mi problema es que PyCharm no resuelve Flask-WTF . He intentado volver a instalar y luego instalar o invalidar la memoria caché y reiniciar PyCharm, pero todavía no funciona.
Luego se me ocurrió esta solución y funciona perfectamente para mí.
Ahora verá que su biblioteca ha sido resuelta.
fuente
¿Estás usando virtualenv?
si es así, debe notificar a PyCharm por cada cambio en la ubicación del python.exe deseado (simplemente ./activate no es suficiente para PyCharm)
Asegúrese de que Pycharm apunte al interpetor y los paquetes correctos: Archivo -> Configuración -> Proyecto -> Intérprete de proyecto. Haga clic en el engranaje y elija python.exe en la carpeta Scripts de virtualenv
fuente