![](/img/trans.png)
[英]How can I use editors/IDEs with a virtual environment | python and venv?
[英]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.