Pip Bash:Python3:未找到命令(Windows,discord.py)

Pip Bash:Python3:未找到命令(Windows,discord.py),pip,python-3.5,git-bash,discord,Pip,Python 3.5,Git Bash,Discord,我一直在尝试配置discord API discord.py,目的是在我的服务器上运行红色MusicBot。我已经安装了Python 3.5,并添加了路径变量(我在安装中单击了“将Python添加到路径”选项)。下面是我的路径变量当前的样子: C:\Users\Corey Rigney\AppData\Local\Programs\Python\Python35\Scripts\ C:\Users\Corey Rigney\AppData\Local\Programs\Python\Python

我一直在尝试配置discord API discord.py,目的是在我的服务器上运行红色MusicBot。我已经安装了Python 3.5,并添加了路径变量(我在安装中单击了“将Python添加到路径”选项)。下面是我的路径变量当前的样子:

C:\Users\Corey Rigney\AppData\Local\Programs\Python\Python35\Scripts\
C:\Users\Corey Rigney\AppData\Local\Programs\Python\Python35\
这些是唯一与Python相关的。现在,作为discord.py安装过程的一部分,它希望我在Git Bash中运行以下命令:

$git克隆https://github.com/Rapptz/discord.py
$cd discord.py
$python3-m pip安装-U。[语音]
前两行工作正常,但第三行返回:

bash:python3:未找到命令
我还从GitHub克隆了pip作为一个尝试性的修复,尽管python安装站点说它附带了3.5

我正在运行windows 10,64位


这项工作的总体目标是安装一个discord music bot,如果它能帮助我发布在尝试运行时遇到的错误。

在Windows上,python可执行文件的正常名称是
python.exe
(控制台程序)或
pythonw.exe
(GUI程序)


python可执行文件有时在某些平台上称为
python3
,其中默认(
python
)是旧的python 2。在许多基于UNIX(包括Linux和OS X)的系统上,系统实用程序使用python 2,更改它可能会在这些平台上产生不良后果,因此命名为“python3”


在Windows上,您应该很好-Windows上还有其他问题,但除非您尝试使用多个python版本,否则您不会遇到这些问题。

在python安装(
“c:\\Installationpath\Python3.6.0”
)路径中,您将找到
“python.exe”
,只需在同一位置复制粘贴并将其重命名为
“Python3.exe”
,现在在命令提示符下,您可以检查
python3
命令是否应该显示您的python安装。别忘了打开一个新的终端。

上述解决方案对我都不起作用,但是,当我没有编写
python3-m pip install discord.py
而是编写
C:\InstallPath\Python.exe-m pip install discord.py

这可能是因为当命令
python3
在cmd中不可用时,python核心文件的路径起作用,并将参数作为
python3
命令


注意:正常的
python
命令对我不起作用,因为我已经安装了2个。出于某种原因的不和谐需要3.5及以上

不要复制可执行文件,而是添加一个充当python3的脚本

带有
#的Python 3脚本!python3
shebang行将无法运行,因为
python3.exe
在Windows上不存在-可以通过
py-3
实现

要解决此问题,将此脚本作为
python3
添加到
路径中:它将根据操作系统避免使用正确的Python命令(也适用于Windows和Linux)


在使用git bash的windows中,python3对我不起作用:

$ python --version
Python 2.7.15
但是如果我用py

$ py --version
Python 3.8.1

不知道为什么,但它在Windows 10上起作用了。你可能会发现
py
python
python3
不起作用的地方起作用。

复制python 3可执行文件
python.exe
并将其重命名为
python3.exe
是一个可怕的想法,请不要这样做,因为每次将Python升级到较新版本时,您都必须重复此操作,很可能您会忘记它,并且您会惊讶于您的Python在升级后会出现故障

我建议进行以下简单的设置

解决方案:符号链接
python3.exe
只需在
PATH
环境变量中的目录中创建一个名为
python3.exe
的符号链接(但在Python 3安装目录下它不是的),指向Python 3可执行文件
python3/Python.exe
。即使升级Python,符号链接也会保持在那里,并始终指向正确的可执行文件(因为它位于Python3安装目录之外,即使删除了过时Python的整个目录并放置了新Python,它也不会受到影响)

准备起来很容易:

  • 执行提升的Powershell内核(
    pwsh.exe
    )、Powershell(
    Powershell.exe
    )或Windows命令shell(
    cmd.exe
  • 决定要在何处创建符号链接:
    • 选择已存在于
      PATH
      环境变量中的目录(使用Powershell中的
      echo$env:PATH
      echo%PATH%
      中的
      cmd.exe
      打印变量内容)
    • 将您喜欢的任何目录添加到
      PATH
      变量(见下文)
  • 导航到您在上一步中选择的目录,并在那里创建一个名为
    python3.exe
    的符号链接,指向Python 3可执行文件(
    target
    参数),这两个路径可以是绝对路径,也可以是相对路径:
    • 在Powershell中,使用以下命令:

      newitem-Type-symbolicink-Path python3.exe-Target c:\\python.exe

    • cmd.exe
      中,使用:

      mklink python3.exe c:\\python.exe

  • 现在,如果从任何目录执行
    python3
    python3.exe
    ,Windows将在当前目录中搜索它,然后在
    PATH
    环境变量中搜索所有目录。它找到您创建的符号链接,该链接将其“重定向”到Python3可执行文件,Windows将执行该链接

    笔记 哪个版本执行<代码
    $ py --version
    Python 3.8.1