update librerias library instalar descargar python module pycharm

librerias - Error de PyCharm: ''No Module'' cuando se intenta importar el propio módulo(secuencia de comandos python)



pycharm pip install (7)

He escrito un módulo (un archivo my_mod.py que reside en la carpeta my_module ). Actualmente, estoy trabajando en el archivo cool_script.py que reside en la carpeta cur_proj . He abierto la carpeta en PyCharm usando File - open (y supongo, por lo tanto, es un proyecto de PyCharm).

En ProjectView (CMD-7), puedo ver mi proyecto cur_proj (en rojo) y en "Bibliotecas externas" veo my_module . En cool_script.py, puedo escribir

from my_module import my_mod as mm

y PyCharm incluso hace sugerencias para my_mod. Hasta aquí todo bien.

Sin embargo, cuando intento ejecutar cool_script.py, PyCharm me dice "Ningún módulo llamado my_module"

Esto me parece extraño, porque

A) en el terminal (OS 10.10.2), en python, puedo importar el módulo sin problemas - hay una entrada correspondiente en PYTHONPATH en .bashrc

B) en PyCharm - Configuraciones - Proyecto cur_proj - Intérprete de proyecto - CogWheel junto al intérprete de python - más - muestra rutas para el icono de intérprete seleccionado, las rutas de PYTHONPATH aparecen (como creo que deberían)

Por lo tanto, ¿por qué recibo el error cuando intento ejecutar cool_script.py? - ¿Qué me estoy perdiendo?

Notas:

Adición 2015-Feb-25

Cuando voy a PyCharm para ejecutar - Editar configuraciones, para mi proyecto actual, hay dos opciones que se seleccionan con una marca de verificación: " Agregar raíces de contenido a PYTHONPATH " y " Agregar raíces de origen a PYTHONPATH ". Cuando los tengo desmarcados, puedo cargar mi módulo.

Entonces funciona ahora, pero ¿por qué ?

Surgieron preguntas adicionales:

  • ¿Qué son las "raíces de contenido" y cuáles son las "raíces de origen"? ¿Y por qué agregar algo a PYTHONPATH hace que se rompa de alguna manera?
  • ¿debo desmarcar ambas opciones todo el tiempo (por lo tanto también en los valores predeterminados, no solo las configuraciones específicas del proyecto (panel izquierdo del diálogo Ejecutar / Configuraciones de depuración)?

El paso confuso clave que se debe hacer es recrear la configuración de ejecución para el archivo de origen que está intentando ejecutar, de modo que el IDE recupere las nuevas rutas.

La forma en que realmente funcionó para mí fue ir a Ejecutar / Editar configuraciones ..., seleccione la configuración del archivo que intenta ejecutar en el lado izquierdo, desmarque la casilla "Agregar raíces de origen a PYTHONPATH", guardar, y luego regrese y marque la casilla y guarde. ENTONCES funcionaría.


Esto puede deberse a que el intérprete de Python no puede encontrar su código. Debe mencionar explícitamente a Python para encontrar su código en esta ubicación.

Para hacerlo:

  • Ve a tu consola de python
  • Agregue sys.path.extend([''your module location'']) a la consola de Python.

En tu caso:

  • Ve a tu consola de python,
  • Al principio, escribe el siguiente código:

    import sys sys.path.extend([my module URI location])

  • Una vez que haya escrito esta declaración, puede ejecutar el siguiente comando:

    from mymodule import functions


Las raíces de contenido son carpetas que contienen el código del proyecto, mientras que las raíces de origen también se definen de la misma manera. La única diferencia que entendí fue que el código en las raíces de origen está construido antes del código en la raíz del contenido.

Desmarcarlos no afectará el tiempo de ejecución hasta que no esté haciendo módulos separados en su paquete que estén conectados manualmente a Django. Eso significa que si alguno de sus archivos no contiene la ''de importación de django ...'' o cualquiera de las funciones no se llama a través de django, desmarcar estas 2 opciones dará como resultado un mal funcionamiento.

Actualización: el problema solo surge cuando se usa Virtual Environmanet, y solo cuando se controla el proyecto a través del terminal provisto. Porque el terminal aún funciona a través del pyhtonpath del sistema predeterminado y no del env virtual. mientras que el panel de control python django funciona bien.


Lo que intenté fue buscar la ubicación donde están mis archivos.

por ejemplo, E:/git_projects/My_project/__init__.py is my location.

Fui a Archivo -> Configuración -> Proyecto: Mi_proyecto -> Estructura del proyecto y agregué el contenido raíz para mencionar el lugar E:/git_projects/My_project

funcionó para mí.


Obtuve el error con "Agregar raíces de origen a PYTHONPATH" también. Mi problema era que tenía dos carpetas con el mismo nombre, como project / subproject1 / thing / src y project / subproject2 / thing / src y las tenía marcadas como fuente raíz. Cuando cambié el nombre de una de las carpetas "thing" por "thing1" (cualquier nombre único), funcionó.

Tal vez si PyCharm agrega automáticamente raíces de origen seleccionadas, no utiliza la ruta completa y, por lo tanto, mezcla carpetas con el mismo nombre.


Si su propio módulo está en la misma ruta, necesita marcar la ruta como Sources Root . En el explorador de proyectos, haga clic con el botón derecho en el directorio que desea importar. Luego seleccione Mark Directory As y seleccione Sources Root .

Espero que esto ayude.


my_module es una carpeta, no un módulo y no puedes importar una carpeta, intenta mover my_mod.py a la misma carpeta que cool_script.py y luego import my_mod as mm . Esto se debe a que python solo busca en el directorio actual y en sys.path , por lo que no encontrará my_mod.py menos que esté en el mismo directorio

O puede buscar here una respuesta que le indique cómo importar desde otros directorios.

En cuanto a sus otras preguntas, no sé, ya que no uso PyCharm.