如何将 Python 添加到 PATH

2023-12-02

您可能需要添加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 资源管理器的搜索功能。内置搜索的问题是速度慢得令人痛苦。要对任何文件执行超快速的完整系统搜索,一个很好的选择是一切:

A screenshot of the Everything program searching for "python.exe"

这些路径以黄色突出显示,即位于\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根本不。

笔记:根据您的特定系统,您可能有pythonPython 2 的程序,以及python3对于 Python 3。在其他情况下,两者pythonpython3将指向相同的可执行文件。

第一步是找到目标 Python 可执行文件。它应该是一个程序,您可以通过首先导航到包含的目录然后输入来运行./python在命令行上。

您需要在当前文件夹中的相对路径(./)因为否则你将调用当前记录在你的PATH。正如您之前了解到的,这可能不是您想要运行的 Python 解释器。

通常,Python 可执行文件可以在/bin/文件夹。但如果Python已经在/bin/文件夹,那么它很可能已经打开PATH因为/bin/是系统自动添加的。如果是这种情况,那么您可能想跳到关于内部路径顺序的部分PATH.

因为你可能在这里是因为你已经安装了Python,但当你输入时仍然找不到它python但是,在命令行上,您需要在另一个位置搜索它。

笔记:用于快速搜索大文件夹的出色搜索实用程序是fzf。它通过命令行运行,并将搜索当前工作目录中的所有文件和文件夹。所以你可能会搜索python例如,从您的主目录。然后 fzf 将向您显示包含以下内容的路径python.

也就是说,可能是这样/bin/已被删除PATH完全,在这种情况下,您可以跳到有关的部分管理PATH.

找到 Python 可执行文件并确定其正常工作后,请记下该路径以供稍后使用。现在是时候开始将其添加到您的过程了PATH环境变量。

首先,您需要导航到主文件夹以查看可用的配置脚本:

$ cd ~
$ ls -a

您应该看到一堆以句点开头的配置文件 (.)。这些通俗地称为点文件并且被隐藏ls默认情况下。

每当您登录系统时,就会执行一两个点文件,每当您启动新的命令行会话时,就会运行另外一两个点文件,而大多数其他点文件则由其他应用程序用于配置设置。

您正在寻找启动系统或新的命令行会话时运行的文件。他们的名字可能与这些类似:

  • .profile
  • .bash_profile
  • .bash_login
  • .zprofile
  • .zlogin

要寻找的关键字是轮廓登录。从理论上讲,您应该只有其中之一,但如果您有多个,您可能需要阅读其中的注释以找出哪些在登录时运行。例如,.profileUbuntu 上的文件通常会有以下注释:

# 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使用您选择的登录脚本:

$ source ~/.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 或任何其他程序添加到您的PATHWindows、Linux 和 macOS 上的环境变量。您还了解了更多关于什么的知识PATH以及为什么其内部顺序至关重要。最后,您还发现了如何管理您的PATH在基于 UNIX 的系统上,因为它比管理您的系统更复杂PATH在 Windows 上。

补充代码: 单击此处下载免费补充代码这将引导您跨操作系统更改 PATH。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Python 添加到 PATH 的相关文章

随机推荐

  • Vue.js 3 - 在 vue 中使用 Vue I18n 插件时出错 - 无法设置未定义的属性“_vm”

    我刚刚开始使用 Vue js 并通过一些在线代码片段和教程来学习它 我正在尝试为我的 vue 项目实现国际化支持 但我在网络控制台中遇到错误 这是我的代码片段 main js import createApp from vue import
  • tkinter 图标可以使用哪些文件格式?

    我知道这可能很明显 但在 tkinter 中你可以设置一个图标 但我发现很难找到一个图标 我只是想知道你是否必须使用 ico文件的格式或者是否有办法使用 png or jpeg files 目前我有 window Tkinter Tk wi
  • 处置 Angular 2 应用程序或组件

    有没有办法处理 angular2 应用程序或组件 我正在做一个混合的 ASP NET MVC 和 Angular 2 应用程序 其中 ASP NET MVC 加载部分视图 包括 Angular 2 应用程序 现在 我需要为每个部分视图提供一
  • 基础 SDK 3.0 到 SDK 4.0

    我安装了 SDK 4 0 发现无法访问 3 2 之前的所有 SDK 版本 我找到了下载 SDK 3 1 3 的链接 因此我有两个 dmg 安装文件 问题 SDK 4 0 不允许访问早期版本吗 如果上面的答案是否定的 那么这是否意味着我必须安
  • 如何使用实体框架在连接表中插入数据?

    我是实体框架的新手 我希望获得一些帮助来在 连接表 中插入数据 我有三张桌子 Profiles Tags和一个叫ProfilesTags连接这两个表 类是从数据库 DB First 自动生成的 public partial class Pr
  • jQuery 函数声明说明

    我已经打开 jQuery 1 7 1 库并想研究代码 但我发现函数以奇怪的方式声明 对我来说 例如 show function some code here 我学会了这样定义函数 function show some code here 有
  • 如何使用 Happy 获得漂亮的语法错误消息?

    我目前正在使用快乐的解析器生成器 其他解析器生成器可以给出不错的消息 例如 意外的结束行 预期的 然后 很高兴我只得到当前的令牌和错误的位置 您能给我一个如何获取上述错误消息的示例吗 我为此目的编写了一个 Happy 功能 请参阅我的博文
  • SessionNotCreatedException:消息:会话未创建:此版本的 ChromeDriver 仅支持带有 Selenium ChromeDriver 的 Chrome 版本 76

    我目前使用的是 Chrome 75 并且我已经下载了兼容 Chrome 驱动程序对于Linux 我还将它添加到 PATH 变量中 但是 当我尝试使用以下命令初始化驱动程序时driver webdriver Chrome 我收到以下错误 se
  • Python eval():动态计算表达式

    目录 Understanding Python s eval 第一个参数 表达式 第二个参数 全局变量 第三种说法 本地人 Evaluating Expressions With Python s eval 布尔表达式 数学表达式 通用表达
  • 养成习惯

    学习 Python 编程等复杂技能是很困难的 根据我的经验 提高技能的追求永远不会停止 成功的最好方法是养成每天或每周的习惯努力提高你的技能 在本视频中 您将看到一些有关 Real Python 如何帮助您实现这一目标的提示 恭喜 该视频也
  • 该做什么和不该做什么:Python 编程建议

    本课程涵盖 PEP8 提供的更多建议 以保持一致性并消除歧义 在本课程结束时 您将知道如何检查 如果一个布尔值是True或者False 列表是否为空 变量是否具有定义的值 该参数不是 None 列表中的后缀和前缀
  • 如何设置 Django 项目

    当您开始构建任何新的 Django Web 应用程序时 您需要首先解决一个基本设置 本课程概述了设置 Django 项目的必要步骤 在本课程中 您将重点关注启动新的 Web 应用程序所需执行的初始步骤 您应该首先安装Python 并且应该知
  • 后续步骤:创建博客

    在本课程中 您构建了 Django 组合 了解了很多有关 Django 功能的知识 并与很多错误消息交了朋友 如果您想继续构建这个项目 您可以查看本课程基于的文章添加一个博客到您的网站 博客是与世界分享您的技术知识和写作技巧的好方法 下载
  • 了解 Python 模拟对象库

    目录 什么是模拟 Python 模拟库 The Mock Object 惰性属性和方法 断言和检查 管理模拟的返回值 管理模拟的副作用 配置你的模拟 patch patch 作为装饰器 patch 作为上下文管理器 修补对象的属性 在哪里打
  • Python heapq 模块:使用堆和优先级队列

    目录 What Are Heaps 数据结构 堆和优先级队列 堆的实现 优先级队列的用途 Heaps as Lists in the Python heapq Module 基本操作 高级别操作 堆可以解决的问题 如何发现问题 Exampl
  • PyQt 布局:创建具有专业外观的 GUI 应用程序

    目录 在 GUI 上布置图形元素 储备 PyQt 布局库 Using General Purpose Layout Managers 构建水平布局 QHBoxLayout 构建垂直布局 QVBoxLayout 在网格中排列小部件 QGrid
  • Python Turtle 初学者(概述)

    在本分步课程中 您将借助一个名为turtle的简单交互式Python库来学习Python编程的基础知识 如果您是 Python 初学者 那么本课程肯定会在您迈入编程世界的第一步时为您提供帮助 蟒蛇turtle库具有类似的交互功能 可以让新程
  • 创建一个千篇一律的 Django 应用程序

    有关本课程中使用的工具的更多信息 请查看 GNU纳米 django environ 的文档
  • 如何使用 NumPy 获取正态分布的随机数

    目录 如何使用 NumPy 生成正态分布的随机数 绘制正态分布数字 指定平均值和标准差 在 NumPy 中使用随机数 用中心极限定理迭代至正态性 结论 概率分布描述了事件或实验所有可能结果的可能性 这正态分布是最有用的概率分布之一 因为它很
  • 如何将 Python 添加到 PATH

    目录 如何在 Windows 上将 Python 添加到 PATH 如何在 Linux 和 macOS 上将 Python 添加到 PATH 了解什么是 PATH 了解 PATH 中顺序的重要性 在基于 UNIX 的系统上管理您的 PATH