簡體   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