【Python】如何在 Linux/Windows 系统中设置 PYTHONPATH 环境变量

什么是 PYTHONPATH?

PYTHONPATH 是一个环境变量,它告诉 Python 解释器在哪些目录中查找要导入的模块。这对于包含不在标准目录中的自定义模块非常有用。

Linux 系统中设置 PYTHONPATH 环境变量

在 Python 开发环境中,正确设置 PYTHONPATH 环境变量对于确保 Python 解释器能够找到并导入自定义模块至关重要。以下是如何在 Linux 系统中设置或更新 PYTHONPATH 的简洁指南。

如何设置 PYTHONPATH?

以下是在 Linux 系统中设置 PYTHONPATH 的步骤:

  1. 打开终端。
  2. 使用文本编辑器打开您的 shell 配置文件。根据您的 shell 和系统,这可能是 .bashrc.bash_profile.profile 文件。例如,如果您使用的是 bash,可以编辑 .bashrc 文件:
    vi ~/.bashrc
    
  3. 在打开的配置文件中,添加以下行来设置或更新 PYTHONPATH
    export PYTHONPATH="${PYTHONPATH}:/path/to/your/module1:/path/to/your/module2"
    
    这里的 /path/to/your/module1/path/to/your/module2 应该替换为您想要添加到 PYTHONPATH 中的实际路径。
  4. 保存并关闭文件。
  5. 为了让更改立即生效,您需要重新加载配置文件。可以通过以下命令完成:
    source ~/.bashrc
    
    或者,如果您编辑的是 .bash_profile.profile,则使用:
    source ~/.bash_profile
    
    source ~/.profile
    

示例

假设您有两个模块目录 /home/user/my_project/libs/home/user/other_project/libs,您想要将它们添加到 PYTHONPATH 中,您可以这样操作(路径之间用冒号隔开):

export PYTHONPATH="${PYTHONPATH}:/home/user/my_project/libs:/home/user/other_project/libs"

这行代码会追加新的路径到现有的 PYTHONPATH 变量中,而不会覆盖原有的设置。

小贴士

  • 使用 ${PYTHONPATH} 可以确保您不会丢失任何现有的 PYTHONPATH 设置。
  • 如果您使用的是其他 shell(如 zsh 或 fish),则配置文件可能是 .zshrcconfig.fish
  • 更改 PYTHONPATH 后,新启动的终端会话或脚本将使用新的设置。
    通过以上步骤,您可以轻松地管理 PYTHONPATH,以便 Python 解释器能够正确地找到您的模块。

在 Windows 系统中设置 PYTHONPATH 环境变量的步骤与 Linux 系统有所不同。以下是在 Windows 中设置 PYTHONPATH 的指南:

Windows 系统中设置 PYTHONPATH

操作

  1. 打开系统属性对话框
    • 您可以通过右键点击“此电脑”或“我的电脑”图标,然后选择“属性”来打开系统属性。
    • 或者,您可以在开始菜单中搜索“系统”并点击它。
  2. 点击“高级系统设置”
    • 在系统属性窗口中,找到并点击“高级”标签页。
    • 在“高级”标签页中,点击“环境变量”按钮。
  3. 编辑系统变量
    • 在环境变量窗口中,您会在下方看到“系统变量”和“用户变量”两个部分。
    • 在“系统变量”部分,找到名为 PYTHONPATH 的变量(如果没有,则点击“新建”来创建一个)。
    • 如果找到了 PYTHONPATH,双击它进行编辑;如果需要新建,点击“新建”,然后输入 PYTHONPATH 作为变量名。
  4. 设置或更新变量值
    • 在变量值字段中,输入您的模块路径。如果之前已经有值,确保不要覆盖它们,而是用分号(;)分隔每个路径。
    • 例如:C:\path\to\your\module1;C:\path\to\your\module2
  5. 点击“确定”保存更改
    • 您需要点击每个打开的对话框的“确定”按钮来保存更改。
  6. 重启资源管理器或重启计算机
    • 为了让环境变量生效,您可能需要重启文件资源管理器(按 Ctrl + Shift + Esc 打开任务管理器,右键点击“文件资源管理器”并选择“重新启动”)或者重启计算机。

示例

假设您有两个模块目录 C:\Users\YourUsername\myproject\libsC:\Users\YourUsername\otherproject\libs,您想要将它们添加到 PYTHONPATH 中,您可以按照以下步骤操作:

  1. 打开环境变量窗口。
  2. 找到或创建 PYTHONPATH 变量。
  3. 设置变量值为 C:\Users\YourUsername\myproject\libs;C:\Users\YourUsername\otherproject\libs
    通过以上步骤,您就可以在 Windows 系统中设置 PYTHONPATH 环境变量了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18006.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机图像拼接数据的可视化与制图技术:以植被监测为例

无人机技术在生态环境监测中的应用越来越广泛,尤其是在植被监测领域。通过无人机获取的高分辨率影像数据,结合GIS技术,可以实现对植被覆盖、生长状况等的精确监测与分析。本文将通过一个实际案例,详细讲解无人机图像拼接数据的可视…

ONES 功能上新|ONES Copilot、ONES TestCase、ONES Wiki 新功能一览

ONES Copilot 支持基于当前查看的工作项相关信息,利用 AI 模型,在系统中进行相似工作项的查找,包括基于已关联工作项的相似数据查找。 应用场景: 在查看工作项时,可利用 AI 模型,基于语义相似度&#xff0c…

基于带通滤波的camera脏污检测算法可以完全替代imatest

1.概要 脏污检测算法,基于opencv c实现,便于模组厂快速集成到软件工具中,适用于camera模组厂脏污拦截,特别是对浅脏污具备很好的定位效果;便于画质评价工程师了解camera模组制程的问题提出改善方向。 2.技术介绍 下图…

后勤数据源定制主控室

场景:在学习了解后勤数据源过程中,看到觉得有用的note,分享给大家。 1779063 - 常见问题:关于 LO 数据提取 - 定制主控室(事务 LBWE) 1.问题: 是否需要为每个应用程序组件下的每个数据源添加池…

云原生AI Agent应用安全防护方案最佳实践(上)

当下,AI Agent代理是一种全新的构建动态和复杂业务场景工作流的方式,利用大语言模型(LLM)作为推理引擎。这些Agent代理应用能够将复杂的自然语言查询任务分解为多个可执行步骤,并结合迭代反馈循环和自省机制&#xff0…

三格电子——TCP转ProfibusDP网关使用场景

型号: SG-TCP-Profibus(M) 感兴趣可以TB 搜 三格电子 使用场景: ModbusTCP Client 通过 ModbusTCP 控制 Profibus DP 接口设备。 ModbusTCP 侧支持03H、04H、10H 功能码,只支持 1 个client连接; ProfibusDP 侧支持 DP v0。 P…

剑指offer第2版:搜索算法(二分/DFS/BFS)

查找本质就是排除的过程,不外乎顺序查找、二分查找、哈希查找、二叉排序树查找、DFS/BFS查找 一、p39-JZ3 找出数组中重复的数字(利用特性) 数组中重复的数字_牛客题霸_牛客网 方法1:全部排序再进行逐个扫描找重复。 时间复杂…

小众宝藏分子生物学实验中常用的软件:InSequence

欢迎使用InSequence,正版免费使用,操作友好,小白也能轻松上手哦~ 1. 全新中文界面与更大操作空间 全中文简洁直观的操作界面,常用功能固定至工具栏,随心自定义更改工具栏,让科研人员能够更快速地上手&…

南京观海微电子----整流滤波电路实用

01 变压电路 通常直流稳压电源使用电源变压器来改变输入到后级电路的电压。电源变压器由初级绕组、次级绕组和铁芯组成。初级绕组用来输入电源交流电压,次级绕组输出所需要的交流电压。通俗的说,电源变压器是一种电→磁→电转换器件。即初级的交流电转化…

python 的框架 dash 开发TodoList Web 应用

TodoList Web 应用 项目简介 这是一个基于 Dash 和 SQLAlchemy 的现代化 TodoList Web 应用,提供了简单而强大的待办事项管理功能。 主要特性 添加新的待办事项删除待办事项标记待办事项为已完成/未完成分页展示待办事项列表实时更新和交互 技术栈 PythonDash …

tenda路由器WriteFacMac存在远程命令执行漏洞(CVE-2024-10697)

一、漏洞简介 tenda路由器WriteFacMac存在远程命令执行漏洞 二、漏洞影响 tenda路由器三、网络测绘: fofa: title"Tenda | LOGIN"四、复现过程 POC 1 GET /goform/WriteFacMac?macls%20%3E/webroot/1.txt HTTP/1.1 Accept: text/html,application/…

无需编码5分钟免费部署云上调用满血版DeepSeek

大家好,我是 V 哥。如何自己部署DeepSeek调用满血版。首先,如果你遇到了使用公共服务器时的延迟或限制,想要本地部署以获得更好的性能和稳定性。你是不是也想自己来部署DeepSeek呢,其实除了自己部署本地DeepSeek,还可以…

linux笔记3----防火墙(ubuntu)

防火墙管理工具 ubuntu里使用ufw来管理防火墙。ufw是一个管理防火墙规则的前端工具。本文阐述如何开启、关闭防火墙,放行指定端口。 因为我采用putty远程来使用,需要关闭防火墙或者放行22端口。 核心思维 因为ufw只是一个前端工具,所以一开…

【音视频】RTSP拉流: RTP负载AAC详解(三)

此文为系列文章,此系列主要讲解RTSP客户端的拉流及播放,文章持续更新,会从rtsp的基本协议讲起,如何一步步实现音视频的拉流过程,包括一系列涉及到的协议,rtsp,sdp, rtp(本…

若依系统环境搭建记录

开源若依系统网上资料也很全的,本篇博文记录下自己搭建环境过程中遇到的一些问题。 配置Maven和编辑器选择 我懒得配置Eclipse了,直接用vscode作为编辑器,后面构建运行都用命令行。 配置数据库连接 按照mysql5.7按网上教程即可&#xff1…

【MySql】应用系统等保测评MySQL服务器相关策略设置以及最终验证,MySQL安全策略设置以及最终验证

文章目录 一、概要二、环境及实现三、前期准备四、操作步骤1、所有的数据库需要设置三权账户:系统管理员、网络管理员和安全管理员创建系统管理员账户:创建网络管理员账户:创建安全管理员账户: 2、所有数据库密码的负责度策略需要…

bootplus管理系统 file/download 任意文件下载漏洞

bootplus管理系统 file/download 任意文件下载漏洞 漏洞描述 bootplus是基于SpringBoot + Shiro + MyBatisPlus的,拥有接口管理,权限管理,监控组件等功能的一体化权限管理框架。该项目中的file/download接口存在任意文件下载漏洞, 攻击者可以通过该漏洞下载查看目标系统的…

《open3d qt 网格采样成点云》

open3d qt 网格采样成点云 效果展示二、流程三、代码效果展示 二、流程 创建动作,链接到槽函数,并把动作放置菜单栏 参照前文 三、代码 1、槽函数实现 void on_actionMeshUniformSample_triggered();//均匀采样 void MainWindow::

部署 DeepSeek R1各个版本所需硬件配置清单

DeepSeek-R1 通过其卓越的推理性能和灵活的训练机制,在 2025 年的春节期间受到了广泛关注。 DeepSeek-R1 是一款高性能的 AI 推理模型,主要通过强化学习技术来增强模型在复杂任务场景下的推理能力。 在本地部署 DeepSeek-R1 时,尤其是完整的…

hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况

问题描述 hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况分析过程 先复现现象 select count() from ads.ads_sdd_flow_managemlt_to_ids_mm;–15分钟,小文件10983 select max(mm) from ads.ads_sdd_flow_managemlt_to_ids…