2009-10-22 15 views
8

Pregunta de novato (Estoy empezando con Python y Pydev):¿Cómo importar el proyecto Pydev a la consola interactiva?

He creado un proyecto "Patio de recreo" con la subcarpeta src/root (¿estándar?). Allí he creado example.py.

¿Cómo importo mi módulo "ejemplo" a la consola interactiva de Pydev? ">>> import ejemplo" da: "ImportError: Sin módulo denominado ejemplo"

Respuesta

5

Encontré la respuesta en el sitio web de Plone: ​​Setting up PYTHONPATH in Eclipse project. Esto proporciona una forma conveniente de configurar PYTHONPATH por proyecto. En mi caso agregué "/ Playground/src/root" a la lista de Carpetas de origen. ">>> ejemplo de importación" luego funcionó. (Todavía estoy sorprendido de que los archivos del proyecto no se importen por defecto, sin embargo).

Gracias jldupont por señalarme en la dirección correcta (ref. PYTHONPATH)!

5

Es necesario establecer PYTHONPATH en consecuencia (la búsqueda de Google es su amigo) o .pth uso * en su instalación site- paquetes de directorio apuntando a la ruta de su proyecto. No olvides configurar los detalles de tu intérprete con Pydev (Ventana-> Preferencias-> Pydev-> intérprete).

+0

Por lo tanto, para ser claros, PyDev no hace nada automático para ayudarme a llamarme código de proyecto desde su consola interactiva? Tengo que adjuntar a la variable de entorno PYTHONPATH para cada nuevo proyecto de Pydev que empiece? Si es así, tal vez estoy haciendo la pregunta incorrecta. ¿Cuál es la forma más conveniente de llamar a un método de un módulo de proyecto cuando se usa Pydev? –

+0

No puedo estar seguro al 100% porque hace tiempo que renuncié al uso de la consola integrada: prefiero usar una consola de sistema separada para asegurarme de que las cosas son * realmente * correctas ;-) En cualquier caso, estaba introdujo una buena manera de configurar mi entorno de desarrollo de Python/Eclipse recientemente que podría interesarle (en lugar de esperar a que Pydev lo alcance): http://stackoverflow.com/questions/1522867/python-how-do-you-setup -your-workspace-on-ubuntu – jldupont

0

Siguiendo el consejo anterior de PYTHONPATH, utilicé un truco para que esto funcione. Si entiendo su pregunta, quiere tener el directorio de trabajo actual en el entorno de IPython establecido en el directorio en el que reside su archivo activo. Entonces, si está editando D: /projects/file.py, quiere que el comando pwd() (en IPython) devuelva D:/projects. Aquí es donde proviene la parte pirateada de mi solución. Todos mis proyectos están en mi disco D, pero todas las importaciones normales de python provienen de la ubicación de instalación en mi disco C. Así lo siguiente:

os.environ['PYTHONPATH'].split(os.pathsep) 

resultados en una lista en la que sólo un camino está en la unidad D y ese camino (de las respuestas anteriores es) del directorio de mi archivo activo. Si no usa el disco D, entonces debería haber alguna otra manera única de identificar cuál de las rutas en esa lista pertenece a sus proyectos. Si no hay una forma de identificar de manera única la ruta de su proyecto, esta respuesta no funciona. Pero en el caso simple de "D: /" ser lo suficientemente de un identificador único, este es mi código de inicio en la configuración (Ventana> Preferencias> PyDev> consola interactiva)

import sys; print('%s %s' % (sys.executable or sys.platform, sys.version)) 
import os;os.chdir([p for p in os.environ['PYTHONPATH'].split(os.pathsep) if p.startswith("D")][0]) 
pwd() 
Cuestiones relacionadas