Cuestión de referencia no resuelta en PyCharm
Tengo una estructura de directorios
├── 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?
11 answers
Agregarlo manualmente como lo ha hecho es de hecho una forma de hacer esto, pero hay un método más simple, y es simplemente decirle a pycharm que desea agregar la carpeta src
como raíz de origen, y luego agregar la raíz de origen a su ruta de Python.
De esta manera, no tiene que codificar las cosas en la configuración de su intérprete:
- Añadir
src
como raíz de contenido de origen:
- Entonces asegúrese de añadir fuentes a su
PYTHONPATH
:
- Ahora las importaciones se resolverán:
De esta manera, puede agregar lo que desee como raíz de origen, y las cosas simplemente funcionarán. Sin embargo, si lo desmarcó como raíz de origen, obtendrá un error:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-20 18:59:32
- compruebe el archivo
__init__.py
en la carpetasrc
- agregue la carpeta
src
como raíz de origen - Luego asegúrese de agregar add sources a su
PYTHONPATH
(ver arriba) - en el menú PyCharm seleccione: Archivo Inval> Invalidar cachés / Reiniciar
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-10 23:23:04
Normalmente, PYTH PYTHONPATH se usa para enseñar al intérprete de python a encontrar los módulos necesarios. PyCharm necesita agregar la ruta de Preferencia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-20 17:18:25
Después de probar todas las soluciones, te sugiero que eches un vistazo a Settings -> Project -> project dependencies
y las reorganices.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-12 13:08:39
Si alguien todavía está mirando esto, la respuesta aceptada todavía funciona para PyCharm 2016.3 cuando lo probé. La interfaz de usuario puede haber cambiado, pero las opciones siguen siendo las mismas.
Ie. Haga clic derecho en su carpeta raíz {>'Marcar directorio como' Root> Raíz de origen
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-01 16:51:58
Generalmente, este es un problema de paquete faltante, simplemente coloque el recuadro en la referencia no resuelta y presione Alt+Enter
para revelar las opciones, entonces debería saber cómo resolverlo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-15 09:31:17
Instalar a través de PyCharm (funciona con Community Edition). Abra Settings > Project > Project Interpreter
y luego haga clic en el icono verde + en la captura de pantalla de abajo. En el segundo diálogo que se abre, ingrese el nombre del paquete y haga clic en el botón' Instalar paquete'.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-17 14:38:49
Muchas veces lo que sucede es que el plugin no está instalado. por ejemplo,
Si está desarrollando un proyecto django y no tiene el plugin django instalado en PyCharm, dice error 'referencia no resuelta'. Referir: https://www.jetbrains.com/pycharm/help/resolving-references.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-11 10:12:11
Por favor, compruebe si está utilizando el intérprete correcto que se supone que debe. Estaba recibiendo el error "referencia no resuelta 'django '" para resolver esto cambié el Intérprete del proyecto (Cambié Python 3 a Python 2.7) de la configuración del proyecto: Seleccione Project, vaya a File - > Settings -> Project: - > Project Interpreter - > Brows y Seleccione correct version or Interpreter (e.g /usr/bin/python2.7).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-26 08:28:06
Después de seguir la respuesta aceptada, haciendo lo siguiente lo resolví para 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 mío es así
├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Diciéndole a Pycharm que src depende de MyDirectory
resolvió el problema para mí!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-16 14:34:45
Pycharm usa venv, en el venv u debe instalar los paquetes explícitamente o goto settings ->project interpreter ->add interpreter ->inherit global site-packages
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-04 10:09:34