kuza
Es posible especificar en Pipfile
paquetes del repositorio Git personalizado. Pero no puedo encontrar documentación completa sobre cómo especificar la rama concreta o una confirmación que se usará para la instalación.
¿Existe una referencia completa sobre cómo usar las URL de Git para paquetes de Python en el Pipfile
que son apoyados por el pipenv
para especificar ramas, versiones o confirmaciones personalizadas?
Sería muy bueno tenerlo con equivalente pipenv
argumentos de la línea de comandos.
alex w
Aquí está alguna documentación en el repositorio de GitHub para pipenv:
Puede instalar paquetes con pipenv desde git y otros sistemas de control de versiones usando URL formateadas de acuerdo con la siguiente regla:
<vcs_type>+<scheme>://<location>/<user_or_organization>/<repository>@<branch_or_tag>#egg=<package_name>
Así por ejemplo:
[packages]
requests = {git = "https://github.com/requests/requests.git", editable = true, ref = "v2.20.1"}
Puede generar un Pipfile usando la línea de comando. El Pipfile anterior se generó con:
pipenv install -e git+https://github.com/requests/requests.git@v2.20.1#egg=requests
La documentación para pip entra en más detalle.
-
Estaba instalando con éxito nuestros paquetes de GIT consultando esta documentación, mientras que me olvidé por completo de esta pregunta mía antes de que dicha información estuviera disponible. La primera referencia de la VCS cometido el 20 de septiembre de 2017, no mencionó la posibilidad de especificar sucursales hasta este la edición se comprometió el 12 de agosto de 2018. ¿Tal vez esta respuesta sea un buen candidato para una wiki comunitaria?
– kuza
16 de diciembre de 2018 a las 15:29
-
Esto funcionó para mí, pero tenga en cuenta que el “huevo” debe ser el nombre original del proyecto, no algún otro nombre que defina en el intento equivocado de evitar un conflicto de nombres. 🙂
– Nick K9
27 dic 2022 a las 16:30
Miguel
pip
archivos de paquetes
Además de la excelente respuesta de Alex, también puedes usar pip
El formato de “archivo” de una copia comprimida del repositorio. Varios hosts de código proporcionan automáticamente archivos zip en direcciones URL predecibles.
¿Por qué haría esto?
La instalación de VCS funciona perfectamente bien. Esta alternativa es conveniente si la máquina en la que está instalando no tiene Git, como una imagen de contenedor “delgada”. Los informes anteriores sugirieron que este método era más rápido que Git, pero ahora parecen comparables.
Ejemplos
Reemplace los tokens con los valores que desee en los ejemplos de código a continuación.
Campo | Descripción |
---|---|
<package> |
El nombre del paquete. (Haga coincidir el nombre del paquete con su setup.py !) |
<user> |
El propietario del repositorio |
<repo> |
El nombre del repositorio |
<refname> |
Rama, etiqueta o confirma SHA. Bitbucket también puede usar default para la rama predeterminada. |
Pipfile
[packages]
<package> = {file = "https://github.com/<user>/<repo>/archive/<refname>.zip"}
<package> = {file = "https://bitbucket.org/<user>/<repo>/get/<refname>.zip"}
<package> = {file = "https://codeberg.org/<user>/<repo>/archive/<refname>.zip"}
<package> = {file = "https://gitlab.com/<user>/<repo>/-/archive/<refname>/<repo>-<refname>.zip"}
instalación de CLI
pipenv install https://github.com/<user>/<repo>/archive/<refname>.zip
pipenv install https://bitbucket.org/<user>/<repo>/get/<refname>.zip
pipenv install https://codeberg.org/<user>/<repo>/archive/<refname>.zip
pipenv install https://gitlab.com/<user>/<repo>/-/archive/<refname>/<repo>-<refname>.zip
Advertencia
Hay informes de 2017 y 2018 que a diferencia pip
, pipenv
no lo haré instalar dependencias recursivamente de cremalleras. Sin embargo, las dependencias funcionan bien para mí. este compromiso de septiembre de 2018 es mi mejor suposición de cuándo cambiaron las cosas, pero si sabe lo contrario, comente o edite.