<div dir="ltr">Para eso estamos :) No suelo tener tiempo para contestar dudas en la lista, pero el tema de pip me toca la fibra sensible xD<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-06-06 16:45 GMT+02:00 Nekmo <span dir="ltr"><<a href="mailto:contacto@nekmo.com" target="_blank">contacto@nekmo.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Oh, que otra gente hiciese el trabajo por mí estaría genial... pero me<br>
temo que mi proyecto no es lo bastante conocido ni usado como para<br>
ello xD<br>
<br>
Yo también evito siempre que puedo utilizar "sudo pip install" sobre<br>
todo porque luego las dependencias instaladas pueden dar problemas con<br>
las del sistema, pero como dices, no hay mucha más solución debido a<br>
la naturaleza del proyecto. En otros proyectos intento incluso<br>
incentivar que la gente lo instale en un virtualenv, pero aquí es<br>
imposible.<br>
<br>
Ante todo, gracias :)<br>
<span class="im HOEnZb"><br>
Un cordial saludo:<br>
-- Nekmo.<br>
<br>
Sitio web: <a href="http://nekmo.com" rel="noreferrer" target="_blank">http://nekmo.com</a><br>
Dirección de contacto: <a href="mailto:contacto@nekmo.com">contacto@nekmo.com</a><br>
XMPP/Jabber: <a href="mailto:contacto@nekmo.com">contacto@nekmo.com</a><br>
Google+: Nekmo Com<br>
<br>
<br>
</span><div class="HOEnZb"><div class="h5">El día 6 de junio de 2016, 16:22, Juan Luis Cano <<a href="mailto:juanlu001@gmail.com">juanlu001@gmail.com</a>> escribió:<br>
> La verdad, si yo fuera tú lo dividiría en dos pasos, te quitarás de<br>
> bastantes problemas...<br>
><br>
> Por otro lado: veo que pones `sudo pip install`. Yo lo evito como la peste<br>
> porque tiene consecuencias indeseadas y conduce a mensajes de error<br>
> rarísimos, pero entiendo por la naturaleza de tu biblioteca que tiene que<br>
> ser así. ¿No has pensado mejor que otra gente empaquete tu biblioteca para<br>
> cada distribución de Linux?<br>
><br>
> 2016-06-06 16:08 GMT+02:00 Nekmo <<a href="mailto:contacto@nekmo.com">contacto@nekmo.com</a>>:<br>
>><br>
>> No te preocupes, sé perfectamente que está desaconsejado y soy<br>
>> consciente de los riesgos y problemas :)<br>
>><br>
>> Según entiendo, lo que propones es hacer esto, ¿no?<br>
>><br>
>><br>
>> class FakeBdistWheel(Command):<br>
>> description = 'Faked Wheel'<br>
>> user_options = []<br>
>><br>
>> def initialize_options(self):<br>
>> pass<br>
>><br>
>> def finalize_options(self):<br>
>> pass<br>
>><br>
>> def run(self):<br>
>> print('Sorry, but wheel is not supported for this package!')<br>
>><br>
>><br>
>> setup(<br>
>> cmdclass={'install': SystemInstallCommand, 'bdist_wheel':<br>
>> FakeBdistWheel},<br>
>> ...<br>
>><br>
>><br>
>> Como dices, el paquete se instala correctamente, pero el mensaje de<br>
>> error hace pensarse a la gente que ha habido un error, y me mandan<br>
>> emails pidiéndome ayuda :(<br>
>><br>
>> Mi intención es que esto sea algo temporal, hasta que tenga paquetes<br>
>> para las principales distribuciones. Pero claro, como es algo tedioso<br>
>> y pesado, hasta ese momento prefiero dejarle el trabajo sucio al<br>
>> gestor de paquetes de Python. Estoy barajando también la opción de<br>
>> dividir el proceso de instalación en 2 pasos:<br>
>><br>
>> sudo pip install simple-monitor-alert && sudo python -m<br>
>> simple_monitor_alert.install<br>
>><br>
>> Saludos, ¡y gracias!<br>
>><br>
>><br>
>> Un cordial saludo:<br>
>> -- Nekmo.<br>
>><br>
>> Sitio web: <a href="http://nekmo.com" rel="noreferrer" target="_blank">http://nekmo.com</a><br>
>> Dirección de contacto: <a href="mailto:contacto@nekmo.com">contacto@nekmo.com</a><br>
>> XMPP/Jabber: <a href="mailto:contacto@nekmo.com">contacto@nekmo.com</a><br>
>> Google+: Nekmo Com<br>
>><br>
>><br>
>> El día 6 de junio de 2016, 6:41, Juan Luis Cano <<a href="mailto:juanlu001@gmail.com">juanlu001@gmail.com</a>><br>
>> escribió:<br>
>> > En realidad, lo que ocurre es que se intenta construir un wheel por cada<br>
>> > paquete que estás instalando y sus dependencias pero este paso falla por<br>
>> > lo<br>
>> > que has comentado. Sin embargo, a juzgar por el log todo se instala<br>
>> > correctamente y en principio deberías poder importar el paquete con<br>
>> > normalidad. De hecho acabo de probarlo y me funciona:<br>
>> ><br>
>> > $ pip install simple-monitor-alert<br>
>> > # Mensaje de error al crear wheel, instalación exitosa<br>
>> > $ python<br>
>> >>>> import simple_monitor_alert<br>
>> >>>> simple_monitor_alert.__version__<br>
>> > '0.2.3'<br>
>> ><br>
>> > Lo que puedes hacer es sobreescribir el comando bdist_wheel para impedir<br>
>> > su<br>
>> > ejecución, mostrar un mensaje o simplemente no hacer nada.<br>
>> ><br>
>> > En principio los scripts de post-instalación dejarán de ser un hack<br>
>> > cuando<br>
>> > se termine la PEP 426:<br>
>> ><br>
>> > <a href="https://www.python.org/dev/peps/pep-0426/" rel="noreferrer" target="_blank">https://www.python.org/dev/peps/pep-0426/</a><br>
>> ><br>
>> > Mientras tanto, el consenso de la comunidad es que «lo estás haciendo<br>
>> > mal».<br>
>> ><br>
>> > Espero que te sirva, un saludo:<br>
>> ><br>
>> > Juanlu<br>
>> ><br>
>> ><br>
>> ><br>
>> > On 2016-06-06 03:54, Nekmo wrote:<br>
>> >><br>
>> >> Buenas a todos.<br>
>> >><br>
>> >> Tengo un paquete que requiere de pasos adicionales para su instalación<br>
>> >> en el sistema, ya que no es una biblioteca sino una aplicación. Entre<br>
>> >> otras cosas hace:<br>
>> >> - Instalar servicios (init, systemd).<br>
>> >> - Actualizar los archivos de configuración, si se necesitase.<br>
>> >> - Crear enlaces simbólicos.<br>
>> >> - Crear un usuario del sistema si no existiese<br>
>> >> - Dar los permisos correctos a los directorios correspondientes.<br>
>> >><br>
>> >> Todo esto funciona muy bien a día de hoy, y me permite tener un<br>
>> >> paquete instalable en cualquier distribución de forma fácil y<br>
>> >> amigable. Además, si el paquete es instalado en modo usuario, estos<br>
>> >> pasos se saltan mostrando una advertencia al usuario.<br>
>> >><br>
>> >> El problema llega con Wheel: mis usuarios se quejan porque reciben un<br>
>> >> mensaje de error de Wheel (el cual no uso) durante la instalación,<br>
>> >> aunque el programa se instale perfectamente.<br>
>> >><br>
>> >> <a href="https://github.com/Nekmo/simple-monitor-alert/issues/24" rel="noreferrer" target="_blank">https://github.com/Nekmo/simple-monitor-alert/issues/24</a><br>
>> >><br>
>> >><br>
>> >> ---------------------<br>
>> >> Checking .pth file support in build/bdist.linux-x86_64/wheel/<br>
>> >> /usr/bin/python -E -c pass<br>
>> >> TEST FAILED: build/bdist.linux-x86_64/wheel/ does NOT support .pth<br>
>> >> files<br>
>> >> error: bad install directory or PYTHONPATH<br>
>> >><br>
>> >> You are attempting to install a package to a directory that is not<br>
>> >> on PYTHONPATH and which Python does not read ".pth" files from. The<br>
>> >> installation directory you specified (via --install-dir, --prefix,<br>
>> >> or<br>
>> >> the distutils default setting) was:<br>
>> >><br>
>> >> build/bdist.linux-x86_64/wheel/<br>
>> >><br>
>> >> and your PYTHONPATH environment variable currently contains:<br>
>> >><br>
>> >> ''<br>
>> >><br>
>> >> Here are some of your options for correcting the problem:<br>
>> >><br>
>> >> * You can choose a different installation directory, i.e., one that<br>
>> >> is<br>
>> >> on PYTHONPATH or supports .pth files<br>
>> >><br>
>> >> * You can add the installation directory to the PYTHONPATH<br>
>> >> environment<br>
>> >> variable. (It must then also be on PYTHONPATH whenever you run<br>
>> >> Python and want to use the package(s) you are installing.)<br>
>> >><br>
>> >> * You can set up the installation directory to support ".pth" files<br>
>> >> by<br>
>> >> using one of the approaches described here:<br>
>> >><br>
>> >><br>
>> >><br>
>> >><br>
>> >> <a href="https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations" rel="noreferrer" target="_blank">https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations</a><br>
>> >><br>
>> >> Please make the appropriate changes for your system and try again.<br>
>> >> --------------------------<br>
>> >><br>
>> >> El problema es que, Wheel se promociona como una solución que<br>
>> >> justamente impide ejecutar comandos durante la instalación<br>
>> >> (¡bieen...!) y no sé si conseguiré solventar mi problema usando Wheel.<br>
>> >> Tal vez lo que necesite es ocultar este mensaje de error.<br>
>> >> _______________________________________________<br>
>> >> Python-es mailing list<br>
>> >> <a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
>> >> <a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
>> >> FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
>> ><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > Python-es mailing list<br>
>> > <a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
>> > <a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
>> > FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
>> _______________________________________________<br>
>> Python-es mailing list<br>
>> <a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
>> <a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
>> FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Juanlu<br>
><br>
> _______________________________________________<br>
> Python-es mailing list<br>
> <a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
> FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
><br>
_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" rel="noreferrer" target="_blank">http://python-es-faq.wikidot.com/</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Juanlu<br></div></div>
</div>