使用多个Python版本**包括开发头文件**?

问题描述 投票:0回答:1

我开发支持不同Python版本的Python应用程序。我使用

pyenv
在我的系统上拥有多个 Python 版本(Linux,如果重要的话)并在它们之间进行切换。

现在我还需要构建带有扩展的 Python 包,因为并非所有扩展包都发布了最新 Python 版本的轮子。我的系统有开发头文件,保证只适用于一个 Python 版本(包

python3-dev
,在我的系统上,支持 Python 3.10.6)。因此尝试构建(一些)包,例如Python 3.12
pyenv
环境失败。

理想情况下,我希望能够说:

$ pyenv use 3.12
$ pip wheel <package>  # <-- and GCC is using headers for Python 3.12, not for the version for which the development headers are installed system-wide

这是一个合理的期望吗?怎么才能实现呢?

python packaging multiple-versions
1个回答
0
投票

肯定满足这一点的一个选项(是否适合您的工作流程是一个单独的问题)是使用 docker 容器。

对于Python来说,这相对容易:

docker run -it python:3.10 bash

将您带入 bash shell,其中

python
是 python 3.10,安装了 gcc,并且存在 python 标头(尝试使用 `python-config --includes 进行检查)。

© www.soinside.com 2019 - 2024. All rights reserved.