2011-04-15 19 views
14

Me gustaría comenzar a desarrollar un módulo de Python existente. Tiene una carpeta de origen y el script setup.py para compilar e instalarlo. El script de compilación solo copia los archivos fuente, ya que son todos los scripts de Python.Desarrollo del módulo de Python

Actualmente, he puesto la carpeta de origen bajo control de versión y cada vez que hago un cambio, vuelvo a compilar y reinstalar. Esto parece un poco lento, y no se adapta bien a mí "comprometer" mis cambios a mi instalación de python cada vez que realizo una modificación. ¿Cómo puedo hacer que mi declaración de importación se redirija a mi directorio de desarrollo?

Respuesta

20

Utilice virtualenv y use python setup.py develop para vincular su módulo al entorno virtual de Python. Esto hará que los paquetes/módulos de Python de su proyecto aparezcan en sys.path sin tener que ejecutar la instalación.

Ejemplo:

% virtualenv ~/virtenv 
% . ~/virtenv/bin/activate 
(virtenv)% cd ~/myproject 
(virtenv)% python setup.py develop 
+0

virtualenv es el camino a seguir –

0

Cambiar el PYTHONPATH a su directorio de origen. Una buena idea es trabajar con un IDE como ECLIPSE que anule el PYTHONPATH predeterminado.

+1

perder el tiempo con PYTHONPATH es realmente lo último que uno haría .. –

+0

@Sentinel, ¿podría elabora por favor? – Gus

2

Instale el paquete distrubute y luego use el modo desarrollador. Simplemente use python setup.py develop --user y eso colocará los punteros de ruta en su ubicación de directorio de usuario en su área de trabajo.

+0

la opción de desarrollo también es compatible con herramientas de configuración simples y sin instalar distribuir (en caso de que uno no quiera). – Paolo

7

Virtualenv ya fue mencionado.

Y como sus archivos ya están bajo control de versión, puede ir un paso más allá y usar Pip para instalar su repositorio (or a specific branch or tag) en su entorno de trabajo.

Consulte la documentación de opción editable de Pip:

-e VCS+REPOS_URL[@REV]#egg=PACKAGE, --editable=VCS+REPOS_URL[@REV]#egg=PACKAGE 

instalar un paquete directamente de una caja. La fuente se comprobará en src/PACKAGE (minúsculas) y instaladas en el lugar (utilizando setup.py develop).

Ahora puede trabajar en los archivos que el pip revisó automáticamente y cuando usted lo desee, puede enviar sus cosas y volver a enviarlas al repositorio de origen.

para obtener un buen, descripción general sobre la pipa y virtualenv ver este post: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django

Cuestiones relacionadas