Классификаторы | Описание |
---|---|
Строит | |
Упаковка | |
Мета |
Двоичные файлы для extended
версии генератора статических сайтов Hugo + withdeploy
, устанавливаемой через pip
Этот проект предоставляет колеса для Hugo, чтобы его можно было использовать с pip
в macOS, Linux и Windows; для Python 3.9 и более поздних версий.
Примечание
Регулярно тестируются только последние, стабильные и будущие версии EOL Python. Если у вас возникнут какие-либо проблемы с пакетом в конкретной версии Python, смело открывайте проблему.
Hugo — генератор статических сайтов, написанный на Go. Он разработан как быстрый и гибкий и используется многими людьми и организациями для своих веб-сайтов, документации и личных блогов.
Примечание
Этот дистрибутив Hugo
в настоящее время не связан с официальным проектом Hugo
. Пожалуйста, обратитесь к документации Hugo для получения дополнительной информации о Hugo.
hugo
мне установить? Версии этого проекта, hugo
разрабатываются вместе с выпусками Hugo и соответствуют версии самого Hugo, который использует SemVer
, но, вероятно, разрабатывается в соответствии со стандартами программного обеспечения 0ver, основанными на их истории версий.
Двоичные файлы hugo
через эти колеса доступны для версий Hugo 0.121.2 и выше через PyPI или через выпуски на GitHub. Если вам нужна более старая версия hugo
, которая недоступна в этом пакете, рассмотрите возможность использования официальных двоичных файлов Hugo.
В разделе «Поддерживаемые платформы» приведен список колес, доступных для поддерживаемых платформ и архитектур. Если это так, перейдите в раздел «Быстрый старт», чтобы начать работу.
Предупреждение
Из-за ограничений общего размера, доступных в PyPI для hugo
, только самые последние версии Hugo доступны для загрузки через pip
, а более старые версии этих колес будут удалены, чтобы освободить место для новых выпусков. Если вам нужна более старая версия Hugo, рассмотрите возможность использования колес, загруженных на страницу выпусков GitHub, или официальных двоичных файлов Hugo. Первое можно сделать через pip
, загрузив файл .whl
, или через pipx
напрямую используя URL-адрес (рекомендуется). Например, если вам нужен Hugo 0.122.0, вы можете запустить pipx install "https://github.com/agriyakhetarpal/hugo-python-distributions/releases/download/v0.122.0/hugo-0.122.0-cp311-cp311-win_amd64.whl"
для загрузки и установки руля для Хьюго 0.122.0 в Windows для Python 3.11.
Создайте виртуальную среду и установите пакет (или установите его глобально в вашей системе):
python -m virtualenv venv # (or your preferred method of creating virtual environments)
pip install hugo
Это поместит установку hugo
с исполняемым файлом в вашу виртуальную среду и добавит к ней точку входа в каталог bin
вашей виртуальной среды. Вы можете использовать команду hugo
, как обычно:
hugo version
hugo env --logLevel info
Альтернативно вы можете установить пакет глобально в вашей системе:
python3.X -m pip install hugo # Unix
py -m pip install hugo # Windows
Кончик
Отличная идея — использовать pipx
для установки или использования Hugo в изолированном месте без необходимости создания виртуальной среды, что позволит вам запускать Hugo как инструмент командной строки без необходимости устанавливать его глобально в вашей системе. то есть,
pipx install hugo # install and run Hugo through pipx
или
pipx run hugo==0.121.2 # run a specific version of Hugo through pipx, even if a different version is installed in whatever environment you are in
Для получения дополнительной информации обратитесь к документации pipx
.
Затем вы можете использовать команды hugo
, как обычно:
hugo version
hugo env --logLevel info
и
hugo new site mysite
hugo --printI18nWarnings server
# and so on
...
Стандартные виртуальные среды позволяют устанавливать и использовать одновременно несколько версий Hugo. Чтобы использовать конкретную версию Hugo, вы можете указать версию при установке пакета (дополнительную информацию см. в разделе Какую версию hugo
мне установить? ):
pip install " hugo==0.X.Y "
Для получения дополнительной информации об использовании Hugo и его интерфейсе командной строки обратитесь к документации Hugo и документации Hugo CLI.
Подмножество платформ, поддерживаемых самим Hugo, поддерживаются этими колесами для hugo
через hugo-python-distributions
. План состоит в том, чтобы поддерживать как можно больше платформ с помощью колес Python и тегов платформ. В следующей таблице приведен список поддерживаемых платформ и архитектур:
Платформа | Архитектура | Поддерживать |
---|---|---|
macOS | x86_64 (Интел) | ✅ macOS 10.13 (High Sierra) и более поздние версии |
macOS | рука64 (кремний) | ✅ macOS 11.0 (Биг-Сур) и более поздние версии |
Линукс | amd64 | ✅ glibc 2.24 и новее |
Линукс | рука64 | ✅ glibc 2.24 и новее |
Линукс | s390x | ✅ glibc 2.17 и новее |
Линукс | ppc64le | ✅ glibc 2.17 и новее |
Окна | x86_64 | ✅ |
Окна | рука64 | ✅ Экспериментальная поддержка 1 |
Окна | х86 | ✅ Экспериментальная поддержка 1 |
ДраконМухаBSD | amd64 | Не получит поддержки 2 |
FreeBSD | amd64 | Не получит поддержки 2 |
OpenBSD | amd64 | Не получит поддержки 2 |
NetBSD | amd64 | Не получит поддержки 2 |
Солярис | amd64 | Не получит поддержки 2 |
Для сборки расширенной версии Hugo + withdeploy из исходного кода требуются следующие зависимости:
Пользователи Windows могут использовать менеджер пакетов Chocolatey для использования компилятора MinGW. После установки Chocolatey выполните следующую команду в командной строке терминала с повышенными привилегиями:
choco install mingw
Затем клонируйте репозиторий и запустите скрипт сборки:
git clone https://github.com/agriyakhetarpal/hugo-python-distributions@main
python -m venv venv
source venv/bin/activate # on Unix-based systems
venv S cripts a ctivate.bat # on Windows
pip install -e . # editable installation
pip install . # regular installation
Примечание
Кросс-компиляция является экспериментальной и не может быть стабильной или надежной для всех случаев использования. Если у вас возникнут какие-либо проблемы с кросс-компиляцией, пожалуйста, смело открывайте проблему.
Этот проект способен выполнять кросс-компиляцию двоичных файлов Hugo для различных платформ и архитектур, и его можно использовать следующим образом. Кросс-компиляция предусмотрена для следующих платформ:
arm64
и amd64
через набор инструментов Xcode,arm64
, amd64
, s390x
и ppc64le
через набор инструментов Zig иamd64
, arm64
и x86
с помощью цепочки инструментов Zig.Пожалуйста, обратитесь к примерам ниже для получения дополнительной информации о том, как кросс-компилировать Hugo для разных архитектур:
Скажем, на компьютере MacOS на базе процессора Intel (x86_64):
export GOARCH= " arm64 "
pip install . # or pip install -e .
Это позволит создать двоичный дистрибутив Hugo для macOS arm64
, который можно будет использовать на компьютерах macOS на базе Apple Silicon ( arm64
). Чтобы создать двоичный дистрибутив для целевой платформы macOS на базе Intel ( x86_64
) на хост -машине macOS на базе Apple Silicon ( arm64
), вы можете использовать следующую команду:
export GOARCH= " amd64 "
pip install . # or pip install -e .
Сначала установите Zig на свой компьютер с Linux и установите переменные среды USE_ZIG
, GOOS
и GOARCH
перед установкой пакета:
Скажем, на машине Linux amd64
:
export USE_ZIG= " 1 "
export GOOS= " linux "
export GOARCH= " arm64 "
pip install . # or pip install -e .
выполнит кросс-компиляцию двоичного дистрибутива Hugo для Linux Arm64, который можно будет использовать на целевых машинах Linux Arm64. Чтобы создать двоичный дистрибутив для целевой платформы amd64
Linux на хост -машине с Linux arm64
, установите цели по-другому:
export USE_ZIG= " 1 "
export GOOS= " linux "
export GOARCH= " amd64 "
pip install . # or pip install -e .
Это создает динамическую связь для встроенного двоичного файла Hugo с предоставленным системой GLIBC. Если вы хотите статически связать двоичный файл с MUSL, измените переменные среды CC
и CXX
следующим образом:
export CC= " zig cc -target x86_64-linux-musl "
export CXX= " zig c++ -target x86_64-linux-musl "
Связь с MUSL в настоящее время не тестируется в CI, но теоретически она должна работать. Официальные двоичные файлы Hugo не связаны с MUSL по ряду причин, включая, помимо прочего, размер двоичного файла и популярность стандартной библиотеки GLIBC C и ее соглашений.
Сначала установите Zig на свой компьютер с Windows и установите эти переменные среды перед установкой пакета:
Скажем, на машине Windows amd64
:
set USE_ZIG= " 1 "
set GOOS= " windows "
set GOARCH= " arm64 "
pip install . # or pip install -e .
выполнит перекрестную компиляцию двоичного дистрибутива Hugo для Windows arm64
, который можно будет использовать на целевых компьютерах с Windows arm64
(обратите внимание на использование set
вместо export
в Windows) и т. д. для архитектуры x86
:
set USE_ZIG= " 1 "
set GOOS= " windows "
set GOARCH= " 386 "
pip install . # or pip install -e .
Чтобы получить список поддерживаемых дистрибутивов Go, запустите команду go tool dist list
в вашей системе. Список поддерживаемых целей для Zig см. в документации Zig для получения дополнительной информации или запустите команду zig targets
в вашей системе.
Кончик
Также возможна кросс-компиляция для целевой платформы и архитектуры с другой хост-платформы и архитектуры, но на данный момент она в значительной степени не протестирована. В настоящее время известно, что набор инструментов компилятора Zig работает для кроссплатформенной и кросс-архитектурной компиляции.
Двоичные файлы генератора статических сайтов Hugo доступны для загрузки на странице релизов Hugo. Эти двоичные файлы необходимо загрузить и поместить в соответствующее место в системе вручную, а переменную среды PATH необходимо обновить, чтобы включить указанное местоположение.
Этот проект предоставляет колеса для Hugo, которые можно использовать с pip
в macOS, Linux и Windows. Это позволяет устанавливать и использовать Hugo в виртуальной среде, что позволяет устанавливать и использовать несколько версий Hugo одновременно в разных виртуальных средах, где Hugo можно использовать в качестве инструмента командной строки (API Python в настоящее время не предусмотрено ввиду отсутствия на него такого спроса).
Этот проект предназначен для использования в следующих сценариях:
pip install --upgrade hugo
, а также возможны автоматические обновления, если вы используете менеджер пакетов, такой как Poetry или PDM, для управления зависимостями Python или такой инструмент, как pipx, для управления. ваши инструменты командной строкиЭтот проект лицензируется на условиях лицензии Apache 2.0. Hugo также доступен под Apache 2.0 (см. лицензию Hugo).
Дополнительную информацию см. в Политике безопасности для этого проекта.
Этот репозиторий призван следовать проекту Хьюго, стремясь обеспечить гостеприимную и инклюзивную среду для всех участников, независимо от их происхождения и личности. Пожалуйста, обратитесь к Кодексу поведения для получения дополнительной информации, применимой ко всем взаимодействиям в этом хранилище и связанных с ним пространствах. В своих руководствах он опирается на Соглашение с участниками и соответствует версии 2.1.
Чтобы запросить помощь, сообщить об ошибках или запросить функции, специфичные для функций Hugo, посетите форум Hugo Discourse. Чтобы запросить помощь по hugo-python-distributions
, пожалуйста, откройте проблему в этом репозитории.
Hugo
на PyPI (@nariman) за любезный жест в предоставлении доступа для принятия имени пакета с основными положениями PEP 541. Таким образом, он позволяет пользователям устанавливать пакет, используя то же имя, что и официальный проект Hugo, что, несомненно, обеспечивает лучший пользовательский опыт и удобство для пользователей этого пакета по сравнению с предыдущим названием пакета python-hugo
. Поддержка 32-разрядных (i686) и Arm64 архитектур в Windows стала возможной благодаря использованию набора инструментов компилятора Zig, использующего экосистему LLVM. Эти колеса являются экспериментальными из-за использования кросс-компиляции и могут не быть стабильными или надежными для всех случаев использования, и в настоящее время официально не поддерживаются проектом Hugo. Следовательно, хотя они публикуются в PyPI для общего доступа, они считаются экспериментальными. Пожалуйста, обратитесь к разделу «Сборка из исходного кода» для получения дополнительной информации о том, как локально собрать Hugo для этих платформ и архитектур. Если вам нужна официальная поддержка для этих платформ или вы столкнулись с какими-либо ошибками, пожалуйста, свяжитесь с авторами Hugo, [https://github.com/gohugoio/hugo/issues/new] (открыв проблему). ↩ ↩ 2
Поддержка этих платформ невозможна из-за i. нехватка ресурсов для их тестирования и создания и ii. отсутствие поддержки этих спецификаций платформы в стандартах упаковки и инструментах Python. Если вам нужна поддержка этих платформ, рассмотрите возможность загрузки официальных двоичных файлов Hugo для их нерасширенных выпусков. ↩ ↩ 2 ↩ 3 ↩ 4 ↩ 5