Estoy tratando de encontrar la forma de construir un paquete fuente de Python que se pueda instalar a través de pip. Intenté crear un proyecto de prueba con el archivo setup.py descrito en http://packages.python.org/an_example_pypi_project/setuptools.html y una cantidad de archivos de prueba simples en los directorios especificados.instalando un archivo tarball de paquete de Python con pip
Después de crear un archivo fuente para el proyecto llamado dist/an_example_pypi_project-0.0.4.tar.gz
con python setup.py sdist
, traté de instalarlo en un entorno virtualenv llamados ~/TEST
con ~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz
. Aunque PIP no lanzó ningún error, no parecía para instalar el paquete:
$ ~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz
Unpacking ./dist/an_example_pypi_project-0.0.4.tar.gz
Running setup.py egg_info for package from file:///home/lebedov/an_example_pypi_project/dist/an_example_pypi_project-0.0.4.tar.gz
Cleaning up...
$ find ~/TEST -name "an_example*"
$
Tenga en cuenta que yo era capaz de instalar desde el archivo comprimido utilizando easy_install:
$ ~/TEST/bin/easy_install dist/an_example_pypi_project-0.0.4.tar.gz
Processing an_example_pypi_project-0.0.4.tar.gz
Running an_example_pypi_project-0.0.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tfXxeW/an_example_pypi_project-0.0.4/egg-dist-tmp-N2QY_N
warning: build_py: byte-compiling is disabled, skipping.
warning: install_lib: byte-compiling is disabled, skipping.
zip_safe flag not set; analyzing archive contents...
Adding an-example-pypi-project 0.0.4 to easy-install.pth file
Installed /home/lebedov/TEST/lib/python2.7/site-packages/an_example_pypi_project-0.0.4-py2.7.egg
Processing dependencies for an-example-pypi-project==0.0.4
Finished processing dependencies for an-example-pypi-project==0.0.4
$ find ~/TEST/ -name "an_example*"
/home/lebedov/TEST/lib/python2.7/site-packages/an_example_pypi_project-0.0.4-py2.7.egg
¿Estoy dejando de configurar algo en el paquete para que sea instalable con pip? Estoy usando Python 2.7.2, distribuyo 0.6.21, virtualenv 1.7 y pip 1.0.2.
El problema parece surgir solo cuando invoco pip mientras que el directorio actual es el que contiene el origen del proyecto. Parece que la presencia del subdirectorio .egg-info creado después de crear la distribución fuente confunde a pip. No estoy seguro de si esto es un error. Preguntaré a los desarrolladores de pip. – lebedov
Para referencia futura, aquí está la consulta: https://github.com/pypa/pip/issues/414 – lebedov
Esto funciona para mi proyecto, y también tengo una .egg-info. ¿Has echado un vistazo a tus directorios usando 'tree'? –