您可能需要添加PythonPATH
如果你已经安装了 Python,但是输入python
在命令行上似乎不起作用。您可能会收到一条消息,指出该术语python
无法识别,或者您最终可能会运行错误的 Python 版本。
解决这些问题的常见方法是将 Python 添加到PATH
环境变量。在本教程中,您将学习如何将 Python 添加到PATH
。您还将了解到什么PATH
是以及为什么PATH
对于像命令行这样的程序来说,能够找到你的 Python 安装至关重要。
笔记: A 小路是硬盘驱动器上文件或文件夹的地址。这PATH
环境变量,也称为PATH
或者小路,是操作系统保留并用于查找可执行脚本和程序的目录路径列表。
添加内容所需执行的步骤PATH
将在很大程度上取决于您的操作系统 (OS),因此如果您只对一种操作系统的此过程感兴趣,请务必跳至相关部分。
请注意,您可以使用以下步骤将任何程序添加到PATH
,不仅仅是Python。
补充代码: 单击此处下载免费补充代码这将引导您跨操作系统更改 PATH。
如何添加PythonPATH
在 Windows 上
第一步是找到目标 Python 可执行文件所在的目录。目录的路径是您要添加到的内容PATH
环境变量。
要查找 Python 可执行文件,您需要查找名为的文件python.exe
。 Python 可执行文件可能位于以下目录中C:\Python\
或者在你的AppData\
例如,文件夹。如果可执行文件位于AppData\
,那么路径通常看起来像这样:
C:\Users\<USER>\AppData\Local\Programs\Python
就你而言,<USER>
部分将替换为您当前登录的用户名。
找到可执行文件后,双击它并验证它是否启动,以确保它可以工作Python REPL在新窗口中。
如果您很难找到正确的可执行文件,可以使用 Windows 资源管理器的搜索功能。内置搜索的问题是速度慢得令人痛苦。要对任何文件执行超快速的完整系统搜索,一个很好的选择是一切:
这些路径以黄色突出显示,即位于\WindowsApps
和\Python310
,将是添加到的理想候选者PATH
因为它们看起来像是安装根级别的可执行文件。那些以红色突出显示的内容不适合,因为有些是虚拟环境的一部分 - 您可以看到venv
在路径中,有些是快捷方式或内部 Windows 安装。
您还可能会遇到安装在不同程序的文件夹中的 Python 可执行文件。这是因为许多应用程序都将自己的 Python 版本捆绑在其中。这些捆绑的 Python 安装也不合适。
找到 Python 可执行文件后,打开“开始”菜单并搜索编辑系统环境变量条目,这将打开一个系统属性窗户。在里面先进的选项卡,单击按钮环境变量。在那里你会看到用户和系统您可以编辑的变量:
在标题为用户变量,双击显示以下内容的条目小路。将弹出另一个窗口,显示路径列表。点击New按钮并粘贴 Python 可执行文件的路径。插入后,选择新添加的路径并单击提升按钮,直到它位于顶部。
就是这样!您可能需要重新启动计算机才能使更改生效,但您现在应该可以调用python
从命令行。
用于设置PATH
来自命令行的环境变量,请查看有关的部分配置环境变量在里面Windows Python 编码设置指南。您还可以在补充材料中找到说明:
补充代码: 单击此处下载免费补充代码这将引导您跨操作系统更改 PATH。
您可能还想设置PATH
在您的 Linux 或 macOS 计算机上,或者您可能正在使用适用于 Linux 的 Windows 子系统 (WSL)。如果是这样,请阅读下一节,了解基于 UNIX 的系统上的过程。
如何添加PythonPATH
在 Linux 和 macOS 上
由于 Python 通常预装在基于 UNIX 的系统上,因此 Linux 和 macOS 上最常见的问题是安装错误python
跑,而不是找不到any python
。也就是说,在本节中,您将解决无法运行的问题python
根本不。
笔记:根据您的特定系统,您可能有python
Python 2 的程序,以及python3
对于 Python 3。在其他情况下,两者python
和python3
将指向相同的可执行文件。
第一步是找到目标 Python 可执行文件。它应该是一个程序,您可以通过首先导航到包含的目录然后输入来运行./python
在命令行上。
您需要在当前文件夹中的相对路径(./
)因为否则你将调用当前记录在你的PATH
。正如您之前了解到的,这可能不是您想要运行的 Python 解释器。
通常,Python 可执行文件可以在/bin/
文件夹。但如果Python已经在/bin/
文件夹,那么它很可能已经打开PATH
因为/bin/
是系统自动添加的。如果是这种情况,那么您可能想跳到关于内部路径顺序的部分PATH
.
因为你可能在这里是因为你已经安装了Python,但当你输入时仍然找不到它python
但是,在命令行上,您需要在另一个位置搜索它。
笔记:用于快速搜索大文件夹的出色搜索实用程序是fzf。它通过命令行运行,并将搜索当前工作目录中的所有文件和文件夹。所以你可能会搜索python
例如,从您的主目录。然后 fzf 将向您显示包含以下内容的路径python
.
也就是说,可能是这样/bin/
已被删除PATH
完全,在这种情况下,您可以跳到有关的部分管理PATH
.
找到 Python 可执行文件并确定其正常工作后,请记下该路径以供稍后使用。现在是时候开始将其添加到您的过程了PATH
环境变量。
首先,您需要导航到主文件夹以查看可用的配置脚本:
您应该看到一堆以句点开头的配置文件 (.
)。这些通俗地称为点文件并且被隐藏ls
默认情况下。
每当您登录系统时,就会执行一两个点文件,每当您启动新的命令行会话时,就会运行另外一两个点文件,而大多数其他点文件则由其他应用程序用于配置设置。
您正在寻找启动系统或新的命令行会话时运行的文件。他们的名字可能与这些类似:
.profile
.bash_profile
.bash_login
.zprofile
.zlogin
要寻找的关键字是轮廓和登录。从理论上讲,您应该只有其中之一,但如果您有多个,您可能需要阅读其中的注释以找出哪些在登录时运行。例如,.profile
Ubuntu 上的文件通常会有以下注释:
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
所以,如果你有.profile
但是也.bash_profile
,那么你会想要使用.bash_profile
.
您还可以使用.bashrc
或者.zshrc
文件,它们是每当您启动新的命令行会话时运行的脚本。运行命令(rc) 文件是常见的放置位置PATH
配置。
笔记:迂腐地说,rc 文件通常用于影响命令行提示符的外观和感觉的设置,而不是用于配置环境变量,例如PATH
。但你可以使用 rc 文件PATH
如果您愿意的话可以配置。
将 Python 路径添加到您的文件的开头PATH
环境变量,您将在命令行上执行单个命令。
使用以下行,替换<PATH_TO_PYTHON>
替换为你的Python可执行文件的实际路径.profile
使用您系统的登录脚本:
$ echo export PATH="<PATH_TO_PYTHON>:$PATH" >> ~/.profile
该命令添加export PATH="<PATH_TO_PYTHON>:$PATH"
到最后.profile
。命令export PATH="<PATH_TO_PYTHON>:$PATH"
前置<PATH_TO_PYTHON>
到PATH
环境变量。类似于Python中的以下操作:
>>>>>> PATH = "/home/realpython/apps:/bin"
>>> PATH = f"/home/realpython/python:{PATH}"
>>> PATH
'/home/realpython/python:/home/realpython/apps:/bin'
自从PATH
只是一个用冒号分隔的字符串,在前面添加一个值涉及使用新路径、冒号和旧路径创建一个字符串。使用此字符串,您可以设置新值PATH
.
要刷新当前的命令行会话,您可以运行以下命令,替换.profile
使用您选择的登录脚本:
现在,您应该可以调用python
直接从命令行。下次登录时,Python 应该会自动添加到PATH
.
如果您认为这个过程似乎有点不透明,那么您并不孤单!请继续阅读,深入了解正在发生的事情。
了解什么PATH
Is
PATH
是一个环境变量,包含文件夹路径列表。中的每条路径PATH
由冒号或分号分隔 - 冒号用于基于 UNIX 的系统,分号用于 Windows。它就像一个以长字符串作为值的 Python 变量。不同之处在于PATH
是几乎所有程序都可以访问的变量。
像命令行这样的程序使用PATH
环境变量来查找可执行文件。例如,每当您在命令行中键入程序名称时,命令行都会在各个位置搜索该程序。命令行搜索的地方之一是PATH
.
中的所有路径PATH
必须是目录——它们不应该直接是文件或可执行文件。使用的程序PATH
依次获取每个目录并搜索其中的所有文件。目录中的子目录PATH
不过,不要被搜查。所以仅仅添加你的根路径是没有用的PATH
!
还需要注意的是,使用的程序PATH
通常不搜索除可执行文件之外的任何内容。所以,你不能使用PATH
作为定义常用文件快捷方式的一种方式。
了解内部秩序的重要性PATH
如果您输入python
进入命令行,命令行将在每个文件夹中查找PATH
环境变量python
可执行的。一旦找到,它就会停止搜索。这就是为什么你前置Python 可执行文件的路径PATH
。有了新添加的路径第一的确保您的系统能够找到此 Python 可执行文件。
一个常见问题是 Python 安装失败PATH
。如果损坏的可执行文件是命令行遇到的第一个可执行文件,则命令行将尝试运行该可执行文件,然后中止任何进一步的搜索。解决这个问题的快速方法就是添加新的 Python 目录前旧的 Python 目录,尽管您可能也想清除系统中错误的 Python 安装。
重新排序PATH
在 Windows 上相对简单。您打开 GUI 控制面板并使用提升和下移纽扣。然而,如果您使用的是基于 UNIX 的操作系统,则该过程会更加复杂。请继续阅读以了解更多信息。
管理您的PATH
在基于 UNIX 的系统上
通常,管理您的系统时您的首要任务是PATH
就是看看里面有什么。要查看 Linux 或 macOS 中任何环境变量的值,您可以使用echo
命令:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/home/realpython/badpython:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
请注意,$
符号用于告诉命令行后面的标识符是一个变量。该命令的问题在于它只是将所有路径转储到一行上,并用冒号分隔。所以你可能想利用tr将冒号转换为换行符的命令:
$ echo $PATH | tr ":" "\n"
/usr/local/sbin
/usr/local/bin
/usr/sbin
/home/realpython/badpython
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
在此示例中,您可以看到badpython
存在于PATH
。理想的行动方针是执行一些PATH
考古学并找出它被添加到哪里PATH
,但现在,您只想通过在登录脚本中添加一些内容来删除它。
自从PATH
是一个 shell 字符串,您无法使用方便的方法来删除它的一部分,就像它是一个Python列表。也就是说,您可以将一些 shell 命令连接在一起来实现类似的功能:
export PATH=`echo $PATH | tr ":" "\n" | grep -v 'badpython' | tr "\n" ":"`
该命令从上一个命令获取列表并将其输入到grep
,其中,连同-v 开关, 将过滤掉任何包含子字符串的行badpython
。然后你可以将换行符翻译回冒号,你就得到了一个新的有效的PATH
您立即使用的字符串来替换旧的PATH
细绳。
尽管这可能是一个方便的命令,但理想的解决方案是找出添加错误路径的位置。您可以尝试查看其他登录脚本或检查中的特定文件/etc/
。例如,在 Ubuntu 中,有一个名为environment
,它通常定义系统的启动路径。在 macOS 中,这可能是/etc/paths
。还可以有profile
文件和文件夹位于/etc/
可能包含启动脚本。
配置之间的主要区别/etc/
在你的主文件夹中就是这样的/etc/
是系统范围的,而您的主文件夹中的任何内容都将仅限于您的用户。
它通常需要一些考古学来追踪某些东西被添加到你的PATH
, 尽管。因此,您可能需要在登录或 rc 脚本中添加一行,以过滤掉某些条目PATH
作为快速修复。
结论
在本教程中,您学习了如何将 Python 或任何其他程序添加到您的PATH
Windows、Linux 和 macOS 上的环境变量。您还了解了更多关于什么的知识PATH
以及为什么其内部顺序至关重要。最后,您还发现了如何管理您的PATH
在基于 UNIX 的系统上,因为它比管理您的系统更复杂PATH
在 Windows 上。
补充代码: 单击此处下载免费补充代码这将引导您跨操作系统更改 PATH。