我正在嘗試使用 Windows powershell 執行 ping,但結果是:
ping google.com
Traceback (most recent call last):
File "C:\Program Files\Python36\Scripts\ping.py", line 31, in <module>
from impacket import ImpactDecoder, ImpactPacket
ImportError: No module named impacket
似乎正在嘗試執行 python ping 命令,而不是 Windows 預設的 ping 命令。我該如何解決這個問題?
小路:
$env:PATH.split(";")
C:\Program Files\Python36\Scripts\
C:\Program Files\Python36\
C:\Program Files\Python37\Scripts\
C:\Program Files\Python37\
C:\Program Files\AdoptOpenJDK\jre-8.0.212.03-hotspot\bin
C:\Program Files (x86)\AdoptOpenJDK\jre-8.0.212.03-hotspot\bin
C:\Program Files\AdoptOpenJDK\jre-11.0.3.7-hotspot\bin
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Intel\WiFi\bin\
C:\Program Files\Common Files\Intel\WirelessCommon\
C:\Program Files\PuTTY\
C:\Program Files (x86)\Intel\Intel(R) Memory And Storage Tool\
C:\Users\user\AppData\Local\Microsoft\WindowsApps
C:\Program Files\JetBrains\PyCharm 2020.1\bin
C:\texlive\2019\bin\win32
C:\Program Files (x86)\Nmap
C:\Program Files\Intel\WiFi\bin\
C:\Program Files\Common Files\Intel\WirelessCommon\
答案1
問題分析
您的問題是,Windows 會遍歷 PATH 變數中的每個條目,並檢查其中是否存在您所呼叫的名稱的二進位文件,並在第一個匹配項時中止搜尋。由於您的 PATH 變數包含常見 Windows 路徑之前的 PythonScripts
條目,因此它們將覆寫預設命令,因為它們包含名為 ping 的腳本。
將自訂路徑新增至 PATH 變數的開頭的情況並不常見。您通常將其附加到其末尾。
怎麼修:
取得上面的清單並將所有條目;
作為分隔符號組合起來。但請確保將以下條目移至清單末尾:
C:\Program Files\Python36\Scripts\
C:\Program Files\Python36\
C:\Program Files\Python37\Scripts\
C:\Program Files\Python37\
C:\Program Files\AdoptOpenJDK\jre-8.0.212.03-hotspot\bin
C:\Program Files (x86)\AdoptOpenJDK\jre-8.0.212.03-hotspot\bin
C:\Program Files\AdoptOpenJDK\jre-11.0.3.7-hotspot\bin
然後依照以下步驟更新 PATH 變數:
- 在 Windows 桌面上,右鍵單擊我的電腦。
- 在彈出式選單中,點擊特性。
- 在裡面系統屬性窗口,單擊先進的選項卡,然後按一下環境變數。
- 在裡面系統變數窗口,突出顯示小路,然後按一下編輯。
- 在「編輯系統變數」視窗中,將列表替換為您準備好的條目列表(帖子中的完整列表,重新排序,以分號作為分隔符號)。如果最後一個字元不是分號 (;),請新增一個。
最後重新啟動電腦以確保所有程式都使用更新的 PATH 變數。
編輯
在 Windows 10 中,他們似乎更新了 PATH 編輯器,這樣當您編輯變數時,您會看到一個小編輯器窗口,允許您單獨編輯每個條目,還允許您上下移動它們。只需將 Python 條目移至清單底部即可。