que para librerias instalar entorno descargar crear como python setuptools distutils pypi

python - para - install pip



¿Cómo puedo hacer que setuptools instale un paquete que no está en PyPI? (3)

Acabo de empezar a trabajar con setuptools y virtualenv. Mi paquete requiere el último python-gearman que solo está disponible en GitHub. La versión python-gearman que está en PyPI es antigua. La fuente de Github es setuptools-compatible, es decir, tiene setup.py, etc. ¿Hay alguna manera de hacer que las herramientas de configuración descarguen e instalen la nueva versión en lugar de buscarla en PyPI e instalar la anterior?

FYI, el nuevo python-gearman es http://github.com/mtai/python-gearman


La clave es decirle a easy_install dónde se puede descargar el paquete. En este caso particular, se puede encontrar en la url http://github.com/mtai/python-gearman/tarball/master . Sin embargo, ese enlace por sí solo no funcionará, porque easy_install no puede decir con solo mirar la URL lo que va a obtener.

Al cambiarlo a http://github.com/mtai/python-gearman/tarball/master#egg=gearman-2.0.0beta lugar, easy_install podrá identificar el nombre del paquete y su versión.

El último paso es agregar la URL a los enlaces de dependencia de su paquete, por ejemplo:

setup( ... dependency_links = [''http://github.com/mtai/python-gearman/tarball/master#egg=gearman-2.0.0beta''] )

Ahora, cuando se está instalando SU paquete, easy_install descubrirá que hay un "gearman 2.0.0beta" disponible para descargar desde esa URL, y felizmente lo elegirá sobre el de PyPI, si especifica "gearman> = 2.0.0beta" en tus dependencias ..

(Normalmente, la forma en que se hace este tipo de cosas es incluir un enlace en la página PyPI de uno a la fuente descargable, en este caso, si el autor del paquete gearman hubiera incluido un enlace como el anterior, ya estarías configurado Por lo general, las personas marcan la versión de desarrollo con ''myproject-dev'' y luego las personas usan un requisito de ''myproject> = somever, == dev'', de modo que si no hay un paquete de alguna o más, easy_install intentará echa un vistazo o descarga el lanzamiento.)

Deberá especificar --process-dependency-links cuando use pip . Tenga en cuenta que el procesamiento de enlaces de dependencia ha quedado obsoleto y se eliminará en una versión futura.


Las setuptools Vanilla no son compatibles con la descarga directamente desde un repositorio de git, pero puede usar uno de los enlaces de Descargar fuente desde esa página, como por ejemplo:

easy_install http://github.com/mtai/python-gearman/tarball/master


Puede usar el formato de instalación de pip install protocol+location[@tag][#egg=Dependency] para instalarlo directamente desde la fuente usando pip.

Git

pip install git+https://github.com/username/repo.git pip install git+https://github.com/username/repo.git@MyTag pip install git+https://github.com/username/repo.git@MyTag#egg=ProjectName

Mercurial

pip install hg+https://hg.myproject.org/MyProject/

SVN

pip install svn+svn://svn.myproject.org/svn/MyProject

Bzr

pip install bzr+http://bzr.myproject.org/MyProject/trunk

Los siguientes protocolos son compatibles: [+git, +svn, +hg, +bzr]

Versiones

@tag permite especificar una versión / etiqueta específica para verificar.

#egg=name permite especificar lo que el proyecto es como una dependencia para los demás.

El orden siempre debe ser @tag#egg=name .

Repositorios privados

También puede instalar desde repositorios privados cambiando el protocolo a SSH ( ssh:// ) y agregando un usuario apropiado ( git@ ):

git+ssh://[email protected]/username/my_private_repo

También puede instalar desde repositorios privados con un nombre de usuario / contraseña.

git+https://<username>:<password>@github.com/<user>/<repo>.git

Github proporciona la capacidad de crear tokens OAuth personales que se pueden reciclar

git+https://<oauth token>:[email protected]/<user>/<repo>.git

requisitos.txt

requirements.txt se usa para especificar dependencias de proyectos:

requisitos.txt

package1 package2==1.0.2 package3>=0.0.4 git+https://github.com/username/repo.git

Estos no se instalan automáticamente con el paquete y deben instalarse con el comando pip -r requirements.txt .

Incluyendo archivos de requisitos

Los archivos de requisitos pueden incluir otros archivos de requisitos:

requirements-docs.txt

sphinx -r requirements-dev.txt

requisitos-dev.txt

some-dev-tool -r requirements.txt

requisitos.txt

package1 package2==1.0.2 package3>=0.0.4 git+https://github.com/username/repo.git

setup.py

Los archivos de requisitos pueden instalar las dependencias especificadas en setup.py con el siguiente comando:

-e .

setup.py también puede instalar desde repositorios usando la misma sintaxis que antes, pero usando el valor de dependency_links como se menciona en esta respuesta .

Referencias

https://pip.pypa.io/en/latest/user_guide.html#installing-packages https://pip.pypa.io/en/latest/reference/pip_install.html