如何在虚拟环境中使用 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 库一起安装。不幸的是,据我所知,这个包在 pypi.org.
上不可用
如果我用 apt
和 运行 python3
安装它,我可以 import nftables
。伟大的。
问题是,当你进入虚拟环境并尝试同样的事情 - import nftables
时,它不会被发现,因为默认情况下,虚拟环境会忽略任何使用 apt
.[= 安装的系统库。 25=]
当然,您可以在创建虚拟环境时告诉它包含带有 --system-site-packages
的那些,但默认情况下未启用它是有原因的。
安装 python3-nftables
和 apt
后,我还可以将包 (/usr/lib/python3/dist-packages/nftables
) 直接复制到我的项目文件夹中,并将其包含在我项目的 git 仓库中.这行得通,但似乎有点 hackey。
是否有正确的方法在虚拟环境中安装 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'
Debian 有一个名为 python3-nftables
的软件包。您可以使用 apt
安装它。它可以让您与 nftables(现代 iptables 的替代品)进行交互。
通常,当apt
有一个Python库时,该库也可以在pypi.org上找到,这意味着该库可以包含在一个requirements.txt
文件中,并在设置虚拟环境时与任何其他 Python 库一起安装。不幸的是,据我所知,这个包在 pypi.org.
如果我用 apt
和 运行 python3
安装它,我可以 import nftables
。伟大的。
问题是,当你进入虚拟环境并尝试同样的事情 - import nftables
时,它不会被发现,因为默认情况下,虚拟环境会忽略任何使用 apt
.[= 安装的系统库。 25=]
当然,您可以在创建虚拟环境时告诉它包含带有 --system-site-packages
的那些,但默认情况下未启用它是有原因的。
安装 python3-nftables
和 apt
后,我还可以将包 (/usr/lib/python3/dist-packages/nftables
) 直接复制到我的项目文件夹中,并将其包含在我项目的 git 仓库中.这行得通,但似乎有点 hackey。
是否有正确的方法在虚拟环境中安装 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'