Aplicación GIT específica como requisito de instalación del paquete PIP

1 minuto de lectura

avatar de usuario
dev estático

tengo esta aplicación https://github.com/staticdev/django-crud-utils que necesitan tener Django-sorting instalado para funcionar. Pero no puede ser la clasificación original de django, sino una bifurcación que hice: https://github.com/staticdev/django-clasificación

¿Cómo lo pongo en el archivo setup.py para empaquetar?

gracias

avatar de usuario
Hugo Tavares

Edita tu setup.py y agregar una entrada a dependency_links:

dependency_links = [
    'https://github.com/staticdev/django-sorting/tarball/master#egg=django-sort',
],

mientras tu install_requires tiene algo como:

install_requires=[
    'Django>=1.3.1',
    'django-pagination>=1.0.7',
    'django-sort',
],

Si desea utilizar archivos de requisitos, siga los consejos de Yuval Adam.

  • Probé el archivo de requisitos, y cuando puse la línea: -e git+https://github.com/staticdev/django-sorting#egg=django-sorting en requisitos.txt y install_requires=read_file('requirements.txt')me da el mismo error: error in django-crud-utils setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers =(

    – staticdev

    28 de agosto de 2012 a las 11:20

  • También probé la solución dependency_links. Está instalando django-sort desde pypi en lugar de mi bifurcación git. Parece ignorar las cosas de dependency_links. github.com/staticdev/django-crud-utils/blob/master/setup.py

    – staticdev

    28 de agosto de 2012 a las 13:45


  • install_requires solo acepta cadenas como “paquete>=versión”, “paquete==versión”, “paquete<=versión", etc. No puede usar -e en install_requires por ejemplo.

    –Hugo Tavares

    28 de agosto de 2012 a las 14:26

  • Si está mirando PyPI en lugar de su bifurcación, intente usar una versión falsa, como: install_requires=['django-sort==123dev'], dependency_links=['https://github.com/staticdev/django-sorting/tarball/master#egg=django-sort-123dev']

    –Hugo Tavares

    28 de agosto de 2012 a las 14:29

  • Intenté esto, y obtuve: Source in /home/static/virtualenvs/prp2/build/django-sort has the version 0.1, which does not match the requirement django-sort==123dev (from django-crud-utils) Source in /home/static/virtualenvs/prp2/build/django-sort has version 0.1 that conflicts with django-sort==123dev (from django-crud-utils) github.com/staticdev/django-crud-utils/blob/master/setup.py

    – staticdev

    28 de agosto de 2012 a las 15:20


Inclúyalo como un requisito editable y tenga en cuenta que debe mencionar explícitamente el nombre del huevo:

-e git+https://github.com/staticdev/django-sorting#egg=django-sorting

Para más opciones ver http://www.pip-installer.org/en/latest/requirements.html

  • ¿No es el requisito.txt para un virtualenv? Creo que está preguntando sobre setup.py en un paquete distribuible.

    – sanguijuela

    11/10/2013 a las 19:43

-e git+https://github.com/staticdev/django-sorting.git#django-sorting

  • Esa sintaxis es incorrecta, debe usar el git+ prefijo, o el git:// protocolo.

    –Yuval Adam

    27 de agosto de 2012 a las 12:19


  • y ahora tu respuesta es una copia exacta de la mía 😉

    –Yuval Adam

    27 de agosto de 2012 a las 12:23

  • Entonces queda como: install_requires=[ 'Django>=1.3.1', 'django-pagination>=1.0.7', '-e git+https://github.com/staticdev/django-sorting#egg=django-sorting' ], ¿Derecha?

    – staticdev

    27 de agosto de 2012 a las 12:53


  • no funcionó: pip install --upgrade -e git://github.com/staticdev/django-crud-utils.git#egg=django-crud-utils ... Running setup.py egg_info for package django-crud-utils error in django-crud-utils setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers Complete output from command python setup.py egg_info: error in django-crud-utils setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers

    – staticdev

    27 de agosto de 2012 a las 13:01


  • No estoy seguro si este error se debe al elemento que agregó, siguiendo mi propuesta. Para estar seguro, ¿podría ejecutar pip install -e git+… desde la línea de comandos y comprobar si se produce el error?

    – schacki

    27 de agosto de 2012 a las 13:41

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad