我正在尝试使用 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 变量Scripts
在常用 Windows 路径之前包含 Python 条目,因此它们将覆盖默认命令,因为它们包含一个名为 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 条目移动到列表底部即可。