繁体   English   中英

如何在虚拟环境中使用 Python nftables 库?

[英]How can I use the Python nftables library in a virtual environment?

Debian 有一个名为python3-nftables 您可以使用apt安装它。 它可以让你与 nftables(现代 iptables 的替代品)进行交互。

通常,当apt有一个 Python 库时,该库也可以在 pypi.org 上找到,这意味着该库可以包含在requirements.txt文件中,并在设置虚拟环境时与其他任何 Python 库一起安装向上。 不幸的是,据我所知,这个 package 在 pypi.org 上不可用。

如果我使用apt安装它并运行python3 ,我可以import nftables 伟大的。 问题是当你进入一个虚拟环境并尝试同样的事情 - import nftables时,它不会被发现,因为默认情况下,虚拟环境会忽略任何安装的系统库apt

当然,您可以在创建虚拟环境时告诉它包含那些带有--system-site-packages ,但这是默认情况下未启用的原因。

使用apt安装python3-nftables后,我还可以将 package ( /usr/lib/python3/dist-packages/nftables ) 直接复制到我的项目文件夹中,并将其包含在我项目的 git 存储库中。 那行得通,但似乎有点骇人听闻。

是否有正确的方法在虚拟环境中安装nftables库,而不是在系统范围内安装它,并强制虚拟环境看到它?

源代码位于https://salsa.debian.org/pkg.netfilter-team/pkg-nftables/-/tree/master/py setup.py所以你可以做

pip install 'git+https://salsa.debian.org/pkg-netfilter-team/pkg-nftables#egg=nftables&subdirectory=py'

我已经创建了该模块的副本并将其上传到 PyPI,以便在我的项目中使用它。 https://github.com/ansibleguy/python3-nftables

pip install ansibleguy-nftables

如果你想“控制源代码”,你可以安装它或自己创建一个 pypi 帐户并创建你自己的 package。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM