如何在Python虚拟环境中安装使用nftables库
可用合规方案
目前nftables官方Python绑定未上传至PyPI,可通过以下方案实现仅在虚拟环境内安装使用,无需开启全局系统库继承:
- 方案1:从源码构建安装到虚拟环境
- 提前安装
apt source所需的源码拉取依赖,执行apt source python3-nftables拉取对应系统版本的Python绑定源码 - 激活目标虚拟环境,进入源码中的Python绑定目录,执行
pip install .即可将包直接安装到当前虚拟环境,不会污染全局环境
- 提前安装
- 方案2:通过pth文件单独挂载nftables系统包
该方案无需构建源码,且只会让虚拟环境加载nftables单个系统库,不会引入其他系统Python包的冲突风险:- 全局执行
apt install python3-nftables安装系统包(Python绑定依赖底层nftables系统运行时,该步骤本身是使用该库的必要前提) - 激活虚拟环境后执行以下命令,单独添加nftables的加载路径:
echo "/usr/lib/python3/dist-packages/nftables" > $(python -c "import site; print(site.getsitepackages()[0])")/nftables.pth
- 全局执行
- 方案3:私有源托管预构建wheel包
如果需要给团队统一提供依赖,可提前构建对应平台的nftableswheel包,上传到团队内部私有PyPI源,直接在requirements.txt中写包名拉取即可,完全符合依赖管理规范。
注意:以上所有方案都需要系统提前安装nftables底层运行时库,Python绑定仅作为系统接口的调用层,本身不包含nftables核心功能
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

