📌  相关文章
📜  无法为使用 PEP 517 且无法直接安装的 pygalmesh 构建轮子 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:15.574000             🧑  作者: Mango

无法为使用 PEP 517 且无法直接安装的 pygalmesh 构建轮子 - Shell-Bash

有些 Python 包需要特殊的编译环境来安装,例如 C/C++ 编译器。 当你在执行 pip install 时,如果出现 error: command 'clang' (or 'gcc', 'g++', etc.) failed with exit status 1 错误,通常意味着需要手动安装缺失的编译器或相关库。 但是,有些包即使安装了编译器也不能直接安装,这时我们需要构建轮子(Wheel)来完成安装。

在这篇文章中,我将介绍如何使用 Shell-Bash 构建无法用 PEP 517 直接安装的 pygalmesh 包的轮子。

准备工作

首先,我们需要确保已安装以下软件:

  • Python 3(版本号 >= 3.6)
  • pip(Python 包管理器)

此外,还需要安装以下软件:

  • git(版本控制工具)
  • CMake(跨平台的开源软件构建工具)
  • MeshLab(三维网格处理软件)

可以通过以下命令安装它们:

# Debian/Ubuntu
sudo apt-get install git cmake meshlab

# Fedora
sudo dnf install git cmake meshlab

# macOS
brew install git cmake meshlab

对于 Windows 用户,建议在 WSL(Windows Subsystem for Linux)中安装。

下载源代码

现在,我们需要下载 pygalmesh 的源代码。可以通过以下命令从 GitHub 上克隆源代码:

git clone https://github.com/nschloe/pygalmesh.git

切换到 pygalmesh 的源代码目录:

cd pygalmesh
构建轮子

我们使用 Shell-Bash 脚本来构建 pygalmesh 的轮子。在 pygalmesh 的源代码目录下,创建一个名为 build_wheel.sh 的文件,并输入以下内容:

#!/usr/bin/env bash

set -e

# Create Python virtual environment
python3 -m venv .env
source .env/bin/activate

# Upgrade pip to the latest version
pip install --upgrade pip

# Install numpy
pip install numpy

# Build pygalmesh
python setup.py sdist bdist_wheel

保存并退出。然后在终端中执行此脚本:

bash build_wheel.sh

此脚本将创建一个 Python 虚拟环境,安装 numpy,并构建 pygalmesh 的轮子。轮子将保存在 dist 目录下。

安装轮子

现在我们可以将轮子安装到系统或虚拟环境中。在终端中执行以下命令安装轮子:

pip install dist/pygalmesh-*.whl

安装完成后,可以在 Python 脚本中导入 pygalmesh 库:

import pygalmesh

恭喜!现在你已经成功构建并安装了 pygalmesh 的轮子。

总结

本文介绍了如何使用 Shell-Bash 构建无法用 PEP 517 直接安装的 pygalmesh 包的轮子。我们需要先准备好环境,然后从 GitHub 上克隆源代码,最后使用 Shell-Bash 脚本构建轮子。构建好轮子后,我们可以将它安装到系统或虚拟环境中。