[英]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.