Estoy creando un setup.py
archivo para un proyecto que depende de repositorios privados de GitHub. Las partes relevantes del archivo se ven así:
from setuptools import setup
setup(name='my_project',
...,
install_requires=[
'public_package',
'other_public_package',
'private_repo_1',
'private_repo_2',
],
dependency_links=[
'https://github.com/my_account/private_repo_1/master/tarball/',
'https://github.com/my_account/private_repo_2/master/tarball/',
],
...,
)
Estoy usando en setuptools
lugar de distutils
porque este último no admite los argumentos install_requires
y dependency_links
según esta respuesta.
El archivo de configuración anterior no puede acceder a los repositorios privados con un error 404, lo cual es de esperar, ya que GitHub devuelve un 404 a solicitudes no autorizadas de un repositorio privado. Sin embargo, no puedo averiguar cómo setuptools
autenticarme.
Aquí hay algunas cosas que he probado:
Utilizar
git+ssh://
en lugar dehttps://
endependency_links
como lo haría si se instala con el repositoriopip
. Esto falla porque setuptools no reconoce este protocolo ("tipo de URL desconocido: git + ssh"), aunque la documentación de distribución dice que debería hacerlo. Ídemgit+https
ygit+http
.https://<username>:<password>@github.com/...
- sigue obteniendo un 404. (Este método tampoco funciona concurl
owget
desde la línea de comandos, aunquecurl -u <username> <repo_url> -O <output_file_name>
funciona).Actualización de setuptools (0.9.7) y virtualenv (1.10) a las últimas versiones. También intenté instalar distribuir, aunque esta descripción general dice que se fusionó nuevamente con setuptools. De cualquier manera, sin dados.
Actualmente, acabo de setup.py
imprimir una advertencia de que los repositorios privados deben descargarse por separado. Obviamente, esto es menos que ideal. Siento que hay algo obvio que me estoy perdiendo, pero no puedo pensar qué podría ser. :)
Pregunta duplicada sin respuestas aquí .