2012-03-30 19 views
9

En lugar de presionar un lanzamiento a PyPi y GitHub, sería más fácil hacer que PyPi use el último maestro de GitHub. ¿Hay una forma correcta de hacer esto?¿Cómo se configura setup.py para que tenga la instalación de pip del maestro de GitHub?

Sé que puede listar dependencias como repositorios GitHub en install_requires, pero ¿hay alguna manera de hacer esto para el paquete primario?

Por ejemplo, cuando se utiliza para instalar easy_install frasco, se lee a partir de múltiples fuentes, incluyendo GitHub, que aparece en la URL de configuración (https://github.com/mitsuhiko/flask/blob/master/setup.py#L78):

$ sudo easy_install Flask 
Searching for Flask 
Reading http://pypi.python.org/simple/Flask/ 
Reading http://github.com/mitsuhiko/flask/ 

está enumerando la dirección URL en setup.py ¿Qué hace que easy_install también lea de GitHub?

Si es así, ¿siempre se instalará desde GitHub si la versión de GitHub es más actual que la versión de PyPi?

¿Y esto funciona igual para pip?

Respuesta

9

Si recuerdo correctamente puede usar download_url para apuntar al último tarball en GitHub.

no envíe ningún sdist/bdist a PyPI, registro de sólo el paquete y cambiar setup.py a algo como:

setup(..., 
     download_url='https://github.com/USER/PROJECT/tarball/master') 

La razón se leen estas páginas se debe a setuptools arrastra una gran cantidad de páginas (a partir de http://pypi.python.org/simple/) buscando cualquier URL de descarga que se parezca a lo que necesita la instalación. Puede ver más detalles si usa la opción -v en easy_install/pip.

pip install -vvv flask 



Referencias:

Cuestiones relacionadas