【Python】如何在 Linux/Windows 系统中设置 PYTHONPATH 环境变量
什么是 PYTHONPATH?
PYTHONPATH 是一个环境变量,它告诉 Python 解释器在哪些目录中查找要导入的模块。这对于包含不在标准目录中的自定义模块非常有用。
Linux 系统中设置 PYTHONPATH 环境变量
在 Python 开发环境中,正确设置 PYTHONPATH 环境变量对于确保 Python 解释器能够找到并导入自定义模块至关重要。以下是如何在 Linux 系统中设置或更新 PYTHONPATH 的简洁指南。
如何设置 PYTHONPATH?
以下是在 Linux 系统中设置 PYTHONPATH 的步骤:
- 打开终端。
- 使用文本编辑器打开您的 shell 配置文件。根据您的 shell 和系统,这可能是
.bashrc、.bash_profile或.profile文件。例如,如果您使用的是 bash,可以编辑.bashrc文件:vi ~/.bashrc - 在打开的配置文件中,添加以下行来设置或更新
PYTHONPATH:
这里的export PYTHONPATH="${PYTHONPATH}:/path/to/your/module1:/path/to/your/module2"/path/to/your/module1和/path/to/your/module2应该替换为您想要添加到PYTHONPATH中的实际路径。 - 保存并关闭文件。
- 为了让更改立即生效,您需要重新加载配置文件。可以通过以下命令完成:
或者,如果您编辑的是source ~/.bashrc.bash_profile或.profile,则使用:
或source ~/.bash_profilesource ~/.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),则配置文件可能是
.zshrc或config.fish。 - 更改
PYTHONPATH后,新启动的终端会话或脚本将使用新的设置。
通过以上步骤,您可以轻松地管理PYTHONPATH,以便 Python 解释器能够正确地找到您的模块。
在 Windows 系统中设置 PYTHONPATH 环境变量的步骤与 Linux 系统有所不同。以下是在 Windows 中设置 PYTHONPATH 的指南:
Windows 系统中设置 PYTHONPATH
操作
- 打开系统属性对话框:
- 您可以通过右键点击“此电脑”或“我的电脑”图标,然后选择“属性”来打开系统属性。
- 或者,您可以在开始菜单中搜索“系统”并点击它。
- 点击“高级系统设置”:
- 在系统属性窗口中,找到并点击“高级”标签页。
- 在“高级”标签页中,点击“环境变量”按钮。
- 编辑系统变量:
- 在环境变量窗口中,您会在下方看到“系统变量”和“用户变量”两个部分。
- 在“系统变量”部分,找到名为
PYTHONPATH的变量(如果没有,则点击“新建”来创建一个)。 - 如果找到了
PYTHONPATH,双击它进行编辑;如果需要新建,点击“新建”,然后输入PYTHONPATH作为变量名。
- 设置或更新变量值:
- 在变量值字段中,输入您的模块路径。如果之前已经有值,确保不要覆盖它们,而是用分号(
;)分隔每个路径。 - 例如:
C:\path\to\your\module1;C:\path\to\your\module2
- 在变量值字段中,输入您的模块路径。如果之前已经有值,确保不要覆盖它们,而是用分号(
- 点击“确定”保存更改:
- 您需要点击每个打开的对话框的“确定”按钮来保存更改。
- 重启资源管理器或重启计算机:
- 为了让环境变量生效,您可能需要重启文件资源管理器(按
Ctrl + Shift + Esc打开任务管理器,右键点击“文件资源管理器”并选择“重新启动”)或者重启计算机。
- 为了让环境变量生效,您可能需要重启文件资源管理器(按
示例
假设您有两个模块目录 C:\Users\YourUsername\myproject\libs 和 C:\Users\YourUsername\otherproject\libs,您想要将它们添加到 PYTHONPATH 中,您可以按照以下步骤操作:
- 打开环境变量窗口。
- 找到或创建
PYTHONPATH变量。 - 设置变量值为
C:\Users\YourUsername\myproject\libs;C:\Users\YourUsername\otherproject\libs。
通过以上步骤,您就可以在 Windows 系统中设置 PYTHONPATH 环境变量了。
相关文章:
【Python】如何在 Linux/Windows 系统中设置 PYTHONPATH 环境变量
什么是 PYTHONPATH? PYTHONPATH 是一个环境变量,它告诉 Python 解释器在哪些目录中查找要导入的模块。这对于包含不在标准目录中的自定义模块非常有用。 Linux 系统中设置 PYTHONPATH 环境变量 在 Python 开发环境中,正确设置 PYTHONPATH …...
1.14学习总结
日常刷题单 刷了题目后,对于排序方法更加熟练,手搓代码的速度也得到了提高。 感觉字符串还不熟练,高精度更是云里雾里,上升空间极大。 同时看见今晚有个入门难度的测试,去练了练手,想看看自己是什么成分&…...
【Prometheus】prometheus黑盒监控balckbox全面解析与应用实战
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…...
游戏引擎学习第101天
回顾当前情况 昨天的进度基本上完成了所有内容,但我们还没有进行调试。虽然我们在运行时做的事情大致上是对的,但还是存在一些可能或者确定的bug。正如昨天最后提到的,既然现在时间晚了,就不太适合开始调试,所以今天我…...
海康摄像头IPV6模式,手动,自动,路由公告
海康摄像头DS-2DC7220IW-A 网络设置中的IPv6配置选项。IPv6是互联网协议(IP)的第六版,用于替代IPv4,提供更多的IP地址和改进的网络功能。图片中的选项允许用户选择如何配置设备的IPv6网络连接: 手动:用户可…...
架构设计系列(二):CI/CD
一、概述 CI/CD 是 持续集成(Continuous Integration) 和 持续交付/持续部署(Continuous Delivery/Continuous Deployment) 的缩写,是现代软件开发中的一套核心实践和工具链,旨在提高软件交付的效率、质量…...
执行js生成json文件并动态写入数据
项目中需要执行js后生成一个新的json文件,并在该文件内写入json数据, 示例:生成一个json文件,内含执行这个js的时间戳作为json文件中的数据。 新建一个js文件create.js,js代码如下: const fs require(fs)…...
DDoS技术解析
这里是Themberfue 今天我们不聊别的,我们聊聊著名的网络攻击手段之一的 DDoS,看看其背后的技术细节。 DoS 了解 DDoS 前,先来讲讲 DoS 是什么,此 DoS 而不是 DOS 操作系统啊。1996年9月6日,世界第三古老的网络服务提供…...
28 在可以控制 postgres 服务器, 不知道任何用户名的情况下怎 进入 postgres 服务器
前言 最近有这样的一个需求, 有一个 postgres 服务器 但是 不知道 他的任何的用户名密码, 但是我想要查询这台 postgres 服务器 然后 基于这个需求, 我们看一下 怎么来处理 pg_hba.conf 认证方式修改为 trust 首先将 postgres 服务器的认证方式修改为 trust 这时候 …...
《图解设计模式》笔记(十)用类来表现
二十二、Command模式:命令也是类 一个类调用某方法,虽然调用结果会反映在对象的状态中,但不会留下工作的历史记录。 若有一个类表示“请进行这项工作”的“命令”,每一项想做的工作就不再是“方法的调用”这种动态处理了,而是一个表示命令的类的实例,即可以用“物”来表…...
Kafka日志数据深度解析:从基础查看到高级操作全攻略
#作者:孙德新 文章目录 查看log日志文件(kafka-dump-log.sh)1、查看Log文件基本数据信息2、index文件健康性检查(--index-sanity-check)3、转储文件(--max-message-size)4、偏移量解码(--offsets-decoder)5、日志数据解析(--transaction-log-decoder)6、查询Log文件…...
docker容器部署jar应用导入文件时候报缺少字体错误解决
如题,在导入文件时候报错如下: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager 经查是缺少对应字体,解决办法有两张: 第一种:…...
npm安装时无法访问github域名的解决方法
个人博客地址:npm安装时无法访问github域名的解决方法 | 一张假钞的真实世界 今天在用npm install的时候出现了github项目访问不了的异常: npm ERR! Error while executing: npm ERR! /bin/git ls-remote -h -t https://github.com/nhn/raphael.git np…...
APP端弱网模拟与网络测试:如何确保应用在各种网络环境下稳定运行
随着智能手机的普及,APP的网络性能成为用户体验的关键因素之一。尤其是在弱网环境下,应用的表现可能严重影响用户的满意度。因此,APP端的网络测试,尤其是弱网模拟,成为了提升产品质量和用户体验的重要环节。 当前APP网…...
从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地
导读:日志数据已成为企业洞察系统状态、监控网络安全及分析业务动态的宝贵资源。网易云音乐引入 Apache Doris 作为日志库新方案,替换了 ClickHouse。解决了 ClickHouse 运维复杂、不支持倒排索引的问题。目前已经稳定运行 3 个季度,规模达到…...
wordpress模板文件结构超详解
wordpress网站建设中,主题的制作是最为核心的环节。了解模板文件结构是模板制作的第一步,本文所讲的模板文件结构包括两部分,一是指以文件名为概念的文件结构,二是指文件内容的代码结构。 一、如何使模板文件起作用 ↑ wordpres…...
BFS 走迷宫
#include<bits/stdc.h> using namespace std; int a[100][100],v[100][100];//访问数组 n,m<100 struct point {int x;int y;int step; }; queue<point> r;//申请队列 int dx[4]{0,1,0,-1};//四个方向 右下左上 int dy[4]{1,0,-1,0}; int main() { /* 5 4 1 …...
尚硅谷爬虫note005
一、编解码 1.get请求的quote方法 将汉字转为Unicode字符 # _*_ coding : utf-8 _*_ # Time : 2025/2/12 16:33 # Author : 20250206-里奥 # File : demo19_get请求的quote方法 # Project : PythonProject10-14# 景甜page # https://www.baidu.com/s?ieutf-8&f8&rsv…...
mysql中general_log日志详解
介绍 1.记录范围:这个log里面会记录MySQL所有的SQL语句,不管是查询语句,还是DML语句,还是DDL语句,还是DCL语句,这些语句统统都会被记录在general log文件中。就连我们连接和断开MySQL数据库的这些语句。 2…...
计算机毕业设计SpringBoot+Vue.js医院住院管理系统(源码+lw文档+PPT+讲解视频)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
MongoDB 7 分片副本集升级方案详解(下)
#作者:任少近 文章目录 1.4 分片升级1.5 升级shard11.6 升级shard2,shard31.7 升级mongos1.8重新启用负载均衡器1.9 推荐MongoDB Compass来验证数据 2 注意事项: 1.4 分片升级 使用“滚动”升级从 MongoDB 7.0 升级到 8.0,即在其他成员可用…...
AI技术未来趋势
AI技术未来趋势 目录 AI技术未来趋势第一,AGI(通用人工智能)发展步伐在放慢;第二,ChatGPT等问答式AI已接近极限,复杂推理的“慢思考”模式成为新方向;第三,除了少数科技巨头,大多数公司都专注于做专业大模型第四,模型越做越小,进入轻量化时代第五,高质量数据、合成数据使模型知…...
vue 文件下载(导出)excel的方法
目前有一个到处功能的需求,这是我用过DeepSeek生成的导出(下载)excel的一个方法。 1.excel的文件名是后端生成的,放在了响应头那里。 2.这里也可以自己制定文件名。 3.axios用的是原生的axios,不要用处理过的ÿ…...
Flask和Django相比哪个更适合新手?
Flask 与 Django:哪个更适合新手? 对于新手来说,选择 Flask 还是 Django 主要取决于你的具体需求和项目复杂度。以下是两者的详细对比,帮助你做出选择: 1. Flask 优点 简单易用:Flask 是一个轻量级的微框架,代码简洁,易于理解和上手。适合初学者快速入门。灵活性高:…...
【含开题报告+文档+PPT+源码】基于spring boot的固定资产管理系统
开题报告 本研究论文提出了一种基于SpringBoot框架构建的全面且高效的固定资产管理系统,旨在优化企业内部的固定资产全生命周期管理流程。该系统集成了员工权限管理、业务流程处理及数据分析于一体,实现了员工便捷的登录注册功能,并通过安全…...
Unity嵌入到Winform
Unity嵌入到Winform Winform工程🌈...
Svelte 最新中文文档翻译(8)—— @html、@const、@debug 模板语法
前言 Svelte,一个非常“有趣”、用起来“很爽”的前端框架。从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 6 年一直是开发者最感兴趣的前端框架 No.1: Svelte 以其独特的编…...
Qt Designer菜鸟使用教程(实现一个本地英文翻译软件)
1 安装Qt Designer 安装这个包的时候会自带安装 Qt Designer, 安装目录为python的安装根目录的 Lib/site-packages/qt5_applications/Qt/bin 目录下。 pip install pyqt5-tools2 新建窗体 2.1 新建主窗体 创建之后如下图: 设置主窗口大小: 设置窗…...
CPT205 计算机图形学 OpenGL 3D实践(CW2)
文章目录 1. 介绍2. 设计3. 准备阶段4. 角色构建5. 场景构建6. 交互部分6.1 键盘交互6.2 鼠标交互6.3 鼠标点击出多级菜单进行交互 7. 缺点与问题7.1 程序bug7.2 游戏乐趣不足7.3 画面不够好看 8. 完整代码 1. 介绍 前面已经分享过了关于CPT205的CW1的2D作业,这次C…...
【网络安全 | 漏洞挖掘】跨子域账户合并导致的账户劫持与删除
未经许可,不得转载。 文章目录 概述正文漏洞成因概述 在对目标系统进行安全测试时,发现其运行着两个独立的域名——一个用于司机用户,一个用于开发者/企业用户。表面上看,这两个域名各自独立管理账户,但测试表明它们在处理电子邮件变更时存在严重的逻辑漏洞。该漏洞允许攻…...
