簡體   English   中英

在我的文件中導入 scapy.all 時出現問題

[英]Having Issue Importing scapy.all in my file

在我的 Ubuntu 虛擬機中導入 scapy 時遇到問題。
我可以在終端中輕松使用from scapy.all import *
我正在使用 Visual Studio Code,當我將鼠標懸停在 scapy 上時,右鍵單擊並轉到定義,它會將我帶到 scapy 文件。
以下是我見過並嘗試過的解決方案:

  1. 我的文件名(或文件夾中的任何文件名)不是“scapy.py”。

  2. 我直接從網站上安裝了 scapy,使用了“sudo apt-get install python3-scapy”,還嘗試了“pip install scapy”。 這些都沒有改變任何東西。

  3. 如果我運行另一個 python 文件(沒有“sudo”和“from scapy.all import *”),它運行良好。 但是當我使用“sudo”時存在一個導入問題。 在此處輸入圖片說明

  4. 我嘗試執行以下操作來解決我的問題:

    • 在終端輸入:
      sudo mkdir /usr/lib/python2.7/dist-packages/scapy
      cd /usr/lib/python3/dist-packages/
      cp -avr scapy/* /usr/lib/python2.7/dist-packages/scapy \\

    這也沒有解決。

  5. 我還想也許我搞砸了一些模塊文件。 所以我嘗試在一個新的 VirtualBox 鏡像上做所有的事情。 但這也失敗了。

  6. 我可以在終端中輸入“scapy”,它打開得很好。

我的 python 版本是 3.8.10
Scapy 版本:2.4.5

我已經被困在這個問題上 4 天了。 請幫忙。

建議使用virtualenv ,如果您有多個 python 版本,它將解決沖突。

  • 創建一個虛擬環境,通過以下命令

    virtualenv env -p python3

  • 然后激活它

    source env/bin/activate

  • 然后使用pip安裝scapy:

    pip install scapy

並嘗試從那里導入庫。

安裝在非 root 用戶上的軟件包未在系統范圍內安裝,因此當您以 root 用戶身份運行腳本時會出現導入問題
一些可以使用的解決方案:

  1. 也將scapy安裝到root用戶
  • 切換到root
sudo su
  • 安裝 scapy
pip install scapy
  • 然后您可以在本地運行您的腳本,不會出現任何問題
sudo python3 script.py
  1. 或者,創建一個虛擬環境推薦)並在那里安裝 scapy
  • 創建虛擬環境
demo@stack:~/demo$ virtualenv venv
  • 激活虛擬環境
demo@stack:~/demo$ source venv/bin/activate
  • 通過pip將scapy安裝到新的虛擬環境中
(venv) demo@stack:~/demo$ pip install scapy
  • 您現在可以使用超級用戶權限運行腳本而不會出現問題
(venv) demo@stack:~/demo$ sudo python3 script.py

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM