Creo que alguien debería usar py2exe o una herramienta similar para crear un paquete msi para httpie.
La instalación de python y pip es una molestia importante para cualquiera que solo quiera usar httpie en Windows, que no viene con python instalado de forma predeterminada.
Scott Hanselman tiene una guía paso a paso sobre cómo instalarlo en Windows
@ mercury2269 Este no es el tipo de cosas de las que estoy hablando aquí, la gente debería poner Httpie en funcionamiento sin siquiera tener que instalar Python.
Muchas personas no son personas de Python y la instalación de pip en Windows es una molestia por la que nadie debería pasar, ni siquiera los desarrolladores de Python.
Alguien en Twitter también ha mencionado Chocolatey , que parece un administrador de paquetes decente para Windows. Eso debería permitirle instalar HTTPie usando este simple comando:
cinst httpie -source python
Pero eso requeriría que el usuario lo tuviera instalado, ¿no sería mejor un instalador independiente?
Editar : intentaré hacer un instalador de Windows usando py2exe e Inno Setup
Otra opción para empaquetar httpie como un paquete independiente que incluye Python es PyInstaller . Yo no lo he usado, pero el proyecto es muy activo.
Probablemente incluso podría automatizar el proceso de generación de un paquete de Windows como parte del CI de httpie usando
Creé un script de PowerShell para instalar hpttpie y ya presioné un PR, no dude en usar este script para instalarlo en una máquina con Windows.
¿Todavía no hay .exe
independientes para Windows como aria2c.exe, curl.exe, wget.exe
?
Sí, instalar httpie en una máquina con Windows sin acceso a Internet es una verdadera molestia, también me encantaría un paquete como este. Desafortunadamente, mi habilidad personal no es suficiente para crearla yo mismo todavía ...
Acabo de notar que el problema al solicitar el paquete de Windows se creó en 2012, mientras que ahora estamos en 2017.
Me encantaría instalarlo a través de Scoop con scoop install httpie
o choco install httpie
. Está bien si Python es una dependencia.
Este es un script de Python y supongo que Python es un requisito.
Estaría dispuesto a crear / mantener un paquete para Chocolatey. Avíseme si esto todavía lo desea.
Pude construir con éxito un http.exe
binario independiente dentro del contenedor mcr.microsoft.com/windows/servercore:ltsc2019
Docker con Python 3.7.6 y PyInstaller 3.6. Se utilizó Docker Desktop 2.1.0.5.
Estos son los comandos ...
Fuera del contenedor Docker:
mkdir c:\temp\outside
docker run -t -i --mount type=bind,src=c:\temp\outside,dst=c:\inside -w c:\ mcr.microsoft.com/windows/servercore:ltsc2019
Ahora está dentro del contenedor Docker:
curl -L https://aka.ms/nugetclidl -o nuget.exe
set PATH=%PATH%;c:\python\tools;c:\python\tools\scripts;c:\GitForWindows\tools\cmd
nuget install GitForWindows -ExcludeVersion
set PYVER=3.7.6
nuget install python -ExcludeVersion -Version %PYVER% -OutputDirectory .
python -m pip install --no-warn-script-location PyInstaller
python -m pip install pywin32
git clone https://github.com/jakubroztocil/httpie.git
cd httpie
python -m pip install -r requirements-dev.txt
python setup.py build
cd build\lib\httpie
echo sys.exit(main())>> core.py
pyinstaller -F --noupx -n http.exe core.py
cd dist
copy http.exe c:\inside
exit
Ahora está fuera del contenedor de Docker:
dir c:\temp\outside\http.exe
El http.exe
resultante tiene un tamaño de 11,605,534
.
¿Alguien podría confirmar este procedimiento? Gracias.
EDITAR:
Se puede descargar un archivo binario
https://github.com/jftuga/HTTPie-Windows
Lea la sección de Advertencias antes de usar esto.
@jftuga , ¿te importaría compartir tu http.exe
con meros usuarios de Windows sin cosas del compilador?
@sergeevabc
https://github.com/jftuga/HTTPie-Windows
Lea la sección de Advertencias antes de usar esto.
@jftuga , funciona como se esperaba, al menos acciones básicas. Gracias Señor.
¿Alguien comprobó el cubo de Scoop-Python? Es por el mantenedor del balde no portátil.
scoop bucket add python https://github.com/TheRandomLabs/Scoop-Python.git
scoop install httpie-py
Hay un script migrate-python-packages
que debe ejecutarse después de cada actualización de la versión de Python (cada actualización para la instalación global, actualización de la versión principal para la instalación del usuario).
Comentario más útil
Alguien en Twitter también ha mencionado Chocolatey , que parece un administrador de paquetes decente para Windows. Eso debería permitirle instalar HTTPie usando este simple comando: