📜  rust 错误:无法为 python3-sys 运行自定义构建命令 - Rust (1)

📅  最后修改于: 2023-12-03 14:47:10.757000             🧑  作者: Mango

Rust 错误:无法为 python3-sys 运行自定义构建命令

最近在使用 Rust 编写程序时,可能会遇到这样的错误:

error: failed to run custom build command for `python3-sys v0.1.0 (https://github.com/nbigaouette/python3-sys?branch=python-sys-3-u)`

Caused by:
  process didn't exit successfully: `/path/to/rust/target/debug/build/python3-sys-xxxxxxxxxxx/build-script-main` (exit code: 101)
  --- stdout
  TARGET = Some("x86_64-unknown-linux-gnu")
  OPT_LEVEL = Some("0")
  CC_x86_64-unknown-linux-gnu = None
  CC_x86_64_unknown_linux_gnu = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-unknown-linux-gnu = None
  CFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_NAME = Some("python3_sys")
  PY_VERSION = Some("3")

  --- stderr
  thread 'main' panicked at 'Unable to detect Python lib dir via "python3-config --configdir", make sure `python3-devel` or `python3-dev` is installed and/or PYTHON_SYS_EXECUTABLE is set correctly', /path/to/.cargo/registry/src/github.com-1ecc6299db9ec823/python3-sys-0.1.0/build/main.rs:23:17

这个错误表明,Rust 在编译 python3-sys 库时出了问题,无法运行自定义构建命令。这可能是因为缺少 python3-develpython3-dev 的安装导致的,也可能是因为 PYTHON_SYS_EXECUTABLE 环境变量没有正确设置。

如果您还没有安装 python3-develpython3-dev,请运行以下命令进行安装:

# Debian, Ubuntu 等
sudo apt-get install python3-dev

# CentOS, Fedora 等
sudo yum install python3-devel

如果您已经安装了 python3-develpython3-dev,请检查 PYTHON_SYS_EXECUTABLE 环境变量是否正确设置。您可以通过运行以下命令来检查:

echo $PYTHON_SYS_EXECUTABLE

如果该变量未设置或已设置但指向了错误的 Python 可执行文件,请将其设置为正确的位置。例如:

export PYTHON_SYS_EXECUTABLE=/usr/bin/python3

请注意,上面的路径 /usr/bin/python3 只是示例。您需要将其替换为您实际安装的 Python 可执行文件的路径。

一旦您已经解决了以上问题,您应该可以成功编译 python3-sys 库了。如果您仍然遇到任何问题,请参考 Rust 和 Python 的文档,或向 Rust 社区的论坛寻求帮助。