分类器 | 描述 |
---|---|
构建 | |
包裹 | |
元 |
Hugo 静态站点生成器的extended
+ withdeploy
版本的二进制文件,可通过pip
安装
该项目为 Hugo 提供了轮子,以便它可以在 macOS、Linux 和 Windows 上与pip
一起使用;适用于 Python 3.9 及更高版本。
笔记
仅定期测试最新的、稳定的和即将 EOL 的 Python 版本。如果您在特定 Python 版本上遇到该包的任何问题,请随时提出问题。
Hugo 是一个用 Go 编写的静态站点生成器。它被设计为快速且灵活,并且被许多人和组织用于他们的网站、文档和个人博客。
笔记
Hugo
的这个发行版目前不隶属于官方Hugo
项目。有关 Hugo 的更多信息,请参阅 Hugo 文档。
hugo
?这个项目, hugo
与 Hugo 版本一起进行版本控制,并与 Hugo 本身的版本控制保持一致,后者使用SemVer
- 但可能根据基于其版本控制历史的 0ver 软件标准进行版本控制。
Hugo 版本0.121.2及更高版本可通过 PyPI 或通过 GitHub 上的版本获得通过这些轮子实现的hugo
二进制文件。如果您需要无法通过此软件包获得的较旧版本的hugo
,请考虑使用官方Hugo 二进制文件。
请参阅支持的平台部分,了解适用于支持的平台和架构的轮子列表。如果是这样,请跳至快速入门部分开始。
警告
由于hugo
的 PyPI 上的总体大小限制,只有最新版本的 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"
在 Windows 上为 Python 下载并安装 Hugo 0.122.0 的轮子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 作为命令行工具运行,而无需在系统上全局安装它。 IE,
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 | arm64(硅) | ✅ macOS 11.0 (Big Sur) 及更高版本 |
Linux | AMD64 | ✅ glibc 2.24 及更高版本 |
Linux | ARM64 | ✅ glibc 2.24 及更高版本 |
Linux | s390x | ✅ glibc 2.17 及更高版本 |
Linux | ppc64le | ✅ glibc 2.17 及更高版本 |
视窗 | x86_64 | ✅ |
视窗 | ARM64 | ✅ 实验支持1 |
视窗 | x86 | ✅ 实验支持1 |
蜻蜓BSD | AMD64 | 不会获得支持2 |
自由BSD | AMD64 | 不会获得支持2 |
开放BSD | AMD64 | 不会获得支持2 |
网络BSD | 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
架构,以及amd64
、 arm64
和x86
架构。有关如何针对不同架构交叉编译 Hugo 的更多信息,请参阅以下示例:
假设在基于 Intel 的 (x86_64) macOS 计算机上:
export GOARCH= " arm64 "
pip install . # or pip install -e .
这将构建 Hugo 的 macOS arm64
二进制发行版,可在基于 Apple Silicon ( arm64
) 的 macOS 机器上使用。要在基于 Apple Silicon ( arm64
) 的主机macOS 计算机上为基于 Intel ( x86_64
) 的目标macOS 平台构建二进制发行版,您可以使用以下命令:
export GOARCH= " amd64 "
pip install . # or pip install -e .
首先,在 Linux 计算机上安装 Zig,并在安装包之前设置USE_ZIG
、 GOOS
和GOARCH
环境变量:
比如说,在amd64
Linux 机器上:
export USE_ZIG= " 1 "
export GOOS= " linux "
export GOARCH= " arm64 "
pip install . # or pip install -e .
将交叉编译 Hugo 的 Linux arm64 二进制发行版,可在目标 arm64 Linux 机器上使用。要在arm64
Linux主机上为目标amd64
Linux平台构建二进制发行版,请以不同的方式设置目标:
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 "
目前尚未在 CI 中测试针对 MUSL 的链接,但理论上它应该有效。由于多种原因,官方 Hugo 二进制文件不链接到 MUSL,包括但不限于二进制文件的大小以及 GLIBC C 标准库及其约定的流行度。
首先,在 Windows 计算机上安装 Zig,并在安装软件包之前设置这些环境变量:
比如说,在amd64
Windows 机器上:
set USE_ZIG= " 1 "
set GOOS= " windows "
set GOARCH= " arm64 "
pip install . # or pip install -e .
将交叉编译 Hugo 的 Windows arm64
二进制发行版,该发行版可在目标arm64
Windows 机器上使用(注意在 Windows 上使用set
而不是export
),对于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 提供了轮子,可在 macOS、Linux 和 Windows 上与pip
一起使用。这使得Hugo可以在虚拟环境中安装和使用,这使得Hugo的多个版本可以在不同的虚拟环境中并行安装和使用,其中Hugo可以用作命令行工具(Python API是鉴于缺乏这样的需求,目前未提供)。
该项目设计用于以下场景:
pip install --upgrade hugo
命令轻松更新到最新版本的 Hugo,如果您使用 Poetry 或 PDM 等包管理器来管理 Python 依赖项或使用 pipx 等工具来管理,也可以自动更新你的命令行工具该项目根据 Apache 2.0 许可证条款获得许可。 Hugo 也可在 Apache 2.0 下使用(请参阅 Hugo 许可证)。
请参阅该项目的安全政策以获取更多信息。
该存储库旨在遵循 Hugo 项目,努力为所有贡献者提供一个欢迎和包容的环境,无论他们的背景和身份如何。请参阅行为准则,了解适用于该存储库及其相关空间中所有交互的更多信息。它的指导方针依赖于贡献者契约并符合 2.1 版。
如需请求帮助、报告错误或请求特定于 Hugo 功能的功能,请参阅 Hugo Discourse 论坛。如需请求hugo-python-distributions
帮助,请随时在此存储库中提出问题。
Hugo
包的所有者 (@nariman) 表示感谢,感谢他们根据 PEP 541 的基本规定授予访问权限以接管包名称这样,它允许用户使用与官方 Hugo 项目相同的名称来安装该包,这无疑为该包的用户提供了比之前的包名称python-hugo
更好的用户体验和便利。 通过使用使用 LLVM 生态系统的 Zig 编译器工具链,可以在 Windows 上支持 32 位 (i686) 和 arm64 架构。由于使用交叉编译,这些轮子是实验性的,可能不适用于所有用例,并且目前尚未得到 Hugo 项目的正式支持。因此,虽然这些已发布到 PyPI 以供普遍使用,但它们被认为是实验性的。请参阅从源代码构建部分,了解有关如何在本地为这些平台和架构构建 Hugo 的更多信息。如果您需要这些平台的官方支持或遇到任何错误,请考虑通过 [https://github.com/gohugoio/hugo/issues/new](打开问题)联系 Hugo 作者。 ↩ ↩ 2
由于 i,不可能包括对这些平台的支持。缺乏为他们测试和构建的资源; ii. Python 打包标准和工具缺乏对这些平台规范的支持。如果您需要这些平台的支持,请考虑下载其非扩展版本的官方 Hugo 二进制文件。 ↩ ↩ 2 ↩ 3 ↩ 4 ↩ 5