que descargar como python python-2.7 numpy pycharm

python - descargar - ¿Por qué PyCharm da errores de referencia no resueltos en algunas importaciones Numpy?



numpy windows (6)

El desarrollador de PyCharm publicó una solución alternativa para una posible causa de falla de inspección:

https://youtrack.jetbrains.com/issue/PY-32029

En un venv , la inspección puede fallar si tiene una carpeta venv en el directorio del proyecto. Haga clic derecho, marque el directorio como excluido.

La siguiente línea en PyCharm está marcada por la inspección sobre la marcha con errores de referencia no resueltos para cada importación. (Están subrayados en rojo.)

from numpy import tan, arcsin, arccos, arctan

Sin embargo, las siguientes importaciones no causan ningún error / advertencia:

from numpy import sin, cos, arctan2, sqrt, cross, pi

El código en el que utilizo estas importaciones funciona bien sin ningún error o advertencia. Generalmente, confío en los errores rojos de PyCharm como advertencia de que mi código está dañado y no se ejecutará, pero en este caso PyCharm está equivocado.

¿Por qué algunas de las funciones de Numpy son reconocidas por la introspección de PyCharm y otras no?

Versiones actuales:

  • Windows 7 de 64 bits
  • Python 2.7.5
  • PyCharm 3.1.2
  • Numpy 1.8

¡Gracias!


La configuración de Python se especifica en (al menos) dos lugares: Run | Edit Configurations | Python | Python Interpreter Run | Edit Configurations | Python | Python Interpreter Run | Edit Configurations | Python | Python Interpreter , y File | Settings | Project | Project Interpreter File | Settings | Project | Project Interpreter File | Settings | Project | Project Interpreter . Mi error fue que no configuré la instalación correcta de Python en el File | Settings ... File | Settings ... Por lo tanto, se refería a una configuración de Python que no tenía la importación instalada (por ejemplo, NumPy).

Después de configurar estas dos ubicaciones para que apunten a la misma instalación correcta de Python, hice un File | Invalidate Caches / Restart File | Invalidate Caches / Restart , entonces estaba bien.

Un tercer lugar para comprobar es el File | Default Settings... | Project Interpreter File | Default Settings... | Project Interpreter File | Default Settings... | Project Interpreter y asegúrese de que coincida con las otras configuraciones.


La razón por la que está recibiendo esto es debido al análisis estático de PyCharm. Ahora, lo que Python hace es usar esqueletos estáticos (algunos son generados previamente y otros generados) para proporcionarle el análisis. Eche un vistazo a los esqueletos pre-generados aquí -> https://github.com/JetBrains/python-skeletons

Esto podría resolverse habilitando lo siguiente:

Sin embargo, si eso no funciona:

lo que bloqueará el error, aparecerá como un comentario sobre la línea.


Lo siguiente a menudo ayuda a resolver referencias no resueltas falsas positivas.

File | Invalidate Caches


Pude resolver el problema simplemente usando un virtualenv en lugar del intérprete del sistema. Ninguno de los otros métodos que encontré en algún lugar me funcionó antes.

Estoy usando Windows 7, PyCharm Community Edition 2018.2.4, Python 3.6.7, Numpy 1.15.4

  1. Cree un nuevo proyecto llamado my_project y configúrelo para usar el intérprete del sistema File -> Settings -> Project: my_project -> Project Interpreter -> Select your project -> Select the system interpreter
  2. Cree el siguiente script de prueba script1.py dentro del proyecto:

    import numpy print(np.tan(8))

    Ahora, ejecutar este script funciona bien e imprime algunos números, pero Pycharm lanza una advertencia de referencia no resuelta y Ctrl->Click en tan no va al código numpy como debería.

  3. Crear manualmente el entorno virtual.

    cd dir/to/my_project virtualenv venv venv/Scripts/activate pip install numpy deactivate

    En Linux, reemplace la línea de activación con la source venv/bin/activate

  4. Dígale a PyCharm que use el entorno virtual: File -> Settings -> Project: my_project -> Project Interpreter -> Select your project -> Select Python 3.6 (my_project) que debería tener el python.exe dentro de su carpeta de proyecto en algún lugar de la carpeta venv .
  5. Ahora File -> Invalide Caches / Restart ... -> Invalidate and restart
  6. Espere a que se realice toda la indexación y verifique si puede Ctrl->Click en tan en su script1.py

De esta manera, pude solucionar el mismo problema para otros paquetes como torch y opencv (simplemente creando un entorno virtual con todos los paquetes que necesito). No hay más referencias sin resolver hasta el momento.

No tengo idea de por qué funcionaría de esta manera pero no funcionaría con el intérprete del sistema.


Puede deshabilitar las inspecciones en bibliotecas específicas (como numpy). Esto me resultó muy útil ya que mi barra de desplazamiento estaba constantemente iluminada por este problema. Vaya a Configuración -> Editor -> Inspecciones -> Python -> Referencias no resueltas (cerca de la parte inferior) y vaya a la sección Ignorar referencias en la parte inferior derecha de la ventana.

¡Agregue una entrada con "numpy. *" Sin las comillas y no verá estas referencias sin resolver en numpy iluminando su barra de desplazamiento nunca más!