Windows Powershell 使用 python Ping 代替默认

Windows Powershell 使用 python Ping 代替默认

我正在尝试使用 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 变量:

  1. 在 Windows 桌面上,右键单击我的电脑
  2. 在弹出菜单中,点击特性
  3. 在里面系统属性窗口中,单击先进的选项卡,然后单击环境变量
  4. 在里面系统变量窗口,突出显示小路,然后单击编辑。
  5. 在“编辑系统变量”窗口中,用您准备好的条目列表(来自您帖子的完整列表,重新排序,以分号作为分隔符)替换列表。如果最后一个字符不是分号 (;),请添加一个。

最后重新启动计算机,以确保所有程序都使用更新的 PATH 变量。

编辑

似乎在 Windows 10 中,他们更新了 PATH 编辑器,这样当您编辑变量时,您会看到一个小编辑器窗口,您可以单独编辑每个条目,还可以上下移动它们。只需将 Python 条目移动到列表底部即可。

相关内容