python - barplot - pandas plot
Problema de referencia no resuelto en PyCharm (11)
Tengo una estructura de directorio
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Y puedo acceder al módulo de red con sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
Sin embargo, pycharm se queja de que no puede acceder al módulo. ¿Cómo puedo enseñar a pycham a resolver la referencia?
-
__init__.py
archivo__init__.py
en la carpetasrc
- agregar la carpeta
src
como una raíz de origen - Luego, asegúrese de agregar fuentes de adición a su
PYTHONPATH
(ver arriba) - en el menú de PyCharm, seleccione: Archivo -> Invalidar cachés / Reiniciar
Agregarlo manualmente como lo ha hecho es una manera de hacerlo, pero existe un método más simple, y es simplemente decirle a pycharm que desea agregar la carpeta src
como una raíz de origen, y luego agregar la raíz de las fuentes a su camino de pitón.
De esta manera, no tiene que codificar las cosas en la configuración de su intérprete:
- Agregue
src
como una raíz de contenido de origen:
- Luego, asegúrese de agregar fuentes de adición a su
PYTHONPATH
:
- Ahora las importaciones se resolverán:
De esta manera, puede agregar lo que quiera como raíz de origen, y las cosas simplemente funcionarán. Sin embargo, si lo desmarcó como una raíz de origen, obtendrá un error:
Compruebe si está utilizando el intérprete correcto que se supone que debe utilizar. Recibí el error "referencia no resuelta ''django''" para resolver este problema. Cambié el intérprete del proyecto (cambió Python 3 a Python 2.7) desde la configuración del proyecto: seleccione Proyecto, vaya a Archivo -> Configuración -> Proyecto: -> Intérprete del proyecto -> Examinar y seleccione la versión correcta o el intérprete (por ejemplo, /usr/bin/python2.7).
Después de probar todas las soluciones, le sugiero que eche un vistazo a Settings -> Project -> project dependencies
y vuelva a organizarlas.
Después de seguir la respuesta aceptada, resolví lo siguiente por mí:
File
→ Settings
→ Project <your directory/project>
→ Project Dependencies
Elija el directorio / proyecto donde reside su archivo que tiene importaciones sin resolver y marque la casilla para decirle a Pycharm que ese proyecto depende de su otro proyecto.
Mi carpeta hierarcy es ligeramente diferente de la de la pregunta. El mio es asi
├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Decirle a Pycharm que src depende de MyDirectory
solucionó el problema por mí.
En general, este es un problema de paquete faltante, simplemente coloque el cursor en la referencia no resuelta y presione Alt+Enter
para revelar las opciones, luego debe saber cómo resolverlo.
Muchas veces lo que sucede es que el complemento no está instalado. p.ej
Si está desarrollando un proyecto de django y no tiene el complemento de django instalado en pyCharm, dice error ''referencia no resuelta''. Consulte: https://www.jetbrains.com/pycharm/help/resolving-references.html
Normalmente, $ PYTHONPATH se usa para enseñar al intérprete de Python a encontrar los módulos necesarios . PyCharm necesita agregar la ruta en Preference.
Si alguien sigue viendo esto, la respuesta aceptada todavía funciona para PyCharm 2016.3 cuando lo probé. La interfaz de usuario podría haber cambiado, pero las opciones siguen siendo las mismas.
es decir. Haga clic derecho en su carpeta raíz -> ''Marcar directorio como'' -> Raíz de origen
pycharm usa venv, en venv u debe instalar los paquetes explícitamente o ir a la configuración -> intérprete del proyecto -> agregar intérprete -> heredar paquetes de sitio globales