Explique por qué no se debe importar numpy desde el directorio de origen

Descargo de responsabilidad de la investigación:

He examinado las siguientes otras preguntas de StackOverflow:

Quizás para algunos, aquellos puedan responder a mi pregunta, pero según mi conocimiento, todavía no entiendo la situación.

Estoy tratando de importar numpy para que funcione matplotlib, pero al ejecutar el archivo __init__.py en la carpeta numpy, aparece el siguiente mensaje de error:

 ImportError: Error importing numpy: you should not try to import numpy from its source directory; please exit the numpy source tree, and relaunch your python intepreter from there. 

Explica lo que significa importar algo de su directorio de origen en lugar de alguna otra forma de importarlo. ¿Significa que no debe ser código fuente cuando se importa? O significa que literalmente es solo el directorio / carpeta incorrecto que estoy importando. Sé que otra respuesta de StackOverflow es:

El mensaje es bastante autoexplicativo; su directorio de trabajo no debe ser el directorio de origen numpy cuando invoque Python; se debe instalar numpy y su directorio de trabajo debe ser cualquier cosa menos el directorio donde vive.

Sin embargo, no entiendo esto. ¿No se supone que debes importar cosas con las que quieres trabajar? Supongo que el comando de importación combina el directorio de origen en su directorio de trabajo actual en esta statement.

También leo las otras respuestas tales como:

  • Usando distutils para instalar directorios locales.

  • Usando virtualenv para crear un directorio de sistema virtual

  • Usar el EPD de Enthought para tener el número preinstalado en lo que creo que es el directorio del sistema, y

  • Usar un comando como $ dpkg -i --force-not-root --root=$HOME mypackagename.deb para crear lo que creo que es una especie de directorio de subsistema que se trata como un directorio de sistema.

Por lo tanto, corríjame si me equivoco, pero, ¿de algún modo es necesario que Numpy esté instalado de alguna manera en el directorio principal del sistema?

Estado de la máquina:

Estoy usando máquinas de Windows sin privilegios administrativos. Tienen Python 3.3 Shell, así como matplotlib instalado. Al ejecutar el símbolo del sistema, python y python3 no se reconocen. Tengo que ejecutar el shell de Python desde el menú de aplicaciones. Puedo comenzar a importar matplotlib con éxito incluso desde mi propio directorio, diferente del suyo, pero se detiene al llegar a __init__.py del módulo numpy, si existe, e informa del error mencionado anteriormente.

Actualizar:

Afortunadamente, mis administradores pudieron instalar directamente numpy correctamente en la carpeta de site-packages . Gracias por responder a mi pregunta. Entiendo la situación mucho más por ti.

numpy incluye módulos de extensión escritos en C. Deberá crear estos módulos de extensión antes de que se complete el paquete numpy. La forma más robusta de hacerlo es comstackrlo e instalarlo en site-packages como de costumbre. También puede instalarlo en otro directorio utilizando las opciones de distribución estándar para esto . Sin embargo, una vez que lo haya instalado, debe cambiar su directorio fuera del árbol de origen. Python comienza a buscar paquetes en su directorio actual, por lo que la presencia del paquete de número incompleto (sin los módulos de extensión C construidos necesarios) se detectará primero y dará lugar al error que aparece en el mensaje que cita. Esto sucede mucho, así que damos un largo mensaje explicando qué hacer.