Я думаю, что кто-то должен использовать py2exe или аналогичный инструмент для создания пакета msi для httpie.
Установка python и pip - серьезная проблема для тех, кто просто хочет использовать httpie в Windows, который не поставляется с установленным по умолчанию python.
У Скотта Хансельмана есть пошаговое руководство по установке на Windows.
@ mercury2269 Это не то, о чем я здесь говорю. Люди должны запускать Httpie, даже не устанавливая python.
Многие люди не питонисты, и установка pip в Windows - проблема, с которой никто не должен сталкиваться, даже разработчики на Python.
Кто-то в Твиттере также упомянул Chocolatey , который выглядит как приличный менеджер пакетов для Windows. Это должно позволить вам установить HTTPie с помощью этой простой команды:
cinst httpie -source python
Но для этого потребуется, чтобы пользователь установил его, не лучше ли использовать автономный установщик?
Изменить : я попытаюсь создать установщик Windows, используя py2exe и Inno Setup
Другой вариант упаковки httpie как отдельного пакета, включающего Python, - это PyInstaller . Сам не пользовался, но проект очень активен.
Возможно, вы даже могли бы автоматизировать процесс создания пакета Windows как часть httpie CI с помощью AppVeyor .
Я создал сценарий PowerShell для установки hpttpie и уже опубликовал PR, не стесняйтесь использовать этот сценарий для установки на машине с Windows.
По-прежнему нет отдельного .exe
для Windows, такого как aria2c.exe, curl.exe, wget.exe
?
Да, установка httpie на машине с Windows без доступа в Интернет - настоящая боль, мне бы тоже понравился такой пакет. К сожалению, моих личных навыков еще недостаточно, чтобы создать его самому ...
Просто заметил, что проблема с запросом пакета Windows была создана в 2012 году, тогда как сейчас мы находимся в 2017 году.
Хотел бы установить его через Scoop с scoop install httpie
или choco install httpie
. Ничего страшного, если Python является зависимостью.
Это сценарий Python, и я думаю, что Python является обязательным требованием.
Я был бы готов создать / поддерживать пакет для Chocolatey. Сообщите мне, если это все еще желательно.
Мне удалось успешно создать автономный двоичный файл http.exe
внутри контейнера mcr.microsoft.com/windows/servercore:ltsc2019
Docker с Python 3.7.6 и PyInstaller 3.6. Использовался Docker Desktop 2.1.0.5.
Это команды ...
Вне контейнера 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
Теперь вы внутри контейнера 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
Теперь вы находитесь за пределами контейнера Docker:
dir c:\temp\outside\http.exe
Полученный http.exe
имеет размер 11,605,534
.
Может кто-нибудь подтвердить эту процедуру? Спасибо.
РЕДАКТИРОВАТЬ:
Предварительно собранный двоичный файл
https://github.com/jftuga/HTTPie-Windows
Пожалуйста, прочтите раздел « Предупреждения » перед использованием.
@jftuga , не могли бы вы поделиться своими http.exe
с простыми пользователями Windows без использования компилятора?
@sergeevabc
https://github.com/jftuga/HTTPie-Windows
Пожалуйста, прочтите раздел « Предупреждения » перед использованием.
@jftuga , работает как положено, хотя бы базовыми действиями. Спасибо, сэр.
Кто-нибудь проверял ведро Scoop-Python? Это разработчик непереносимого ведра.
scoop bucket add python https://github.com/TheRandomLabs/Scoop-Python.git
scoop install httpie-py
Существует сценарий migrate-python-packages
, который необходимо запускать после каждого обновления версии Python (каждое обновление для глобальной установки, обновление основной версии для установки пользователем).
Самый полезный комментарий
Кто-то в Твиттере также упомянул Chocolatey , который выглядит как приличный менеджер пакетов для Windows. Это должно позволить вам установить HTTPie с помощью этой простой команды: