Pycharm为什么会自动创建__pycache__

news/2025/11/16 21:36:10/文章来源:https://www.cnblogs.com/emanlee/p/19229101

Pycharm为什么会自动创建__pycache__

 

__pycache__是 Python 存储编译后字节码(.pyc 文件)的目录,目的是提升代码运行效率,PyCharm 运行、调试 Python 文件时会触发 Python 解释器生成该目录。

关键原因

  1. 存储字节码文件:Python 执行.py 文件时,会先将源码编译成机器可识别的字节码(.pyc),__pycache__就是专门存放这些字节码的文件夹。
  2. 加速后续运行:首次运行后,下次再执行该文件时,Python 会直接读取已编译的.pyc 文件,无需重新编译源码,大幅节省启动和运行时间。
  3. 触发场景:PyCharm 中只要执行、调试 Python 代码,或导入其他.py 模块,都会触发 Python 解释器的编译行为,进而自动生成__pycache__

  

=============================================

Pycharm中 禁用 __pycache__的生成

__pycache__的生成由 Python 解释器控制,而非 PyCharm 本身,因此禁用它需要通过配置 Python 解释器的行为实现。以下是 3 种实用方法,可根据场景选择:

方法 1:运行时添加-B参数(推荐,灵活可控)

Python 解释器提供-B参数(Bytecode 禁用),运行脚本时添加该参数可阻止生成.pyc文件和__pycache__目录。
 
在 PyCharm 中配置步骤
 
  1. 打开运行 / 调试配置:点击顶部菜单栏Run → Edit Configurations
  2. 在左侧选择你要运行的脚本配置(如main.py);
  3. 在右侧Interpreter options(解释器选项)中输入-B
  4. 点击Apply保存,之后运行该脚本时将不再生成__pycache__
 
(效果:仅对当前配置的脚本生效,不影响其他项目或脚本)

方法 2:设置环境变量PYTHONDONTWRITEBYTECODE(全局生效)

通过设置环境变量PYTHONDONTWRITEBYTECODE=1,可全局禁用 Python 的字节码生成功能。【这个可行】
 
配置方式
 
  • 系统级全局生效(适用于所有项目):
    • Windows:右键 “此电脑”→“属性”→“高级系统设置”→“环境变量”,新建系统变量PYTHONDONTWRITEBYTECODE,值设为1
    • macOS/Linux:在终端执行export PYTHONDONTWRITEBYTECODE=1(临时生效),或写入~/.bashrc/~/.zshrc(永久生效)。
  • PyCharm 项目级生效(仅当前项目):
     
    打开运行配置(同方法 1),在Environment variables中点击+,添加变量PYTHONDONTWRITEBYTECODE,值设为1

方法 3:删除已有目录并添加到.gitignore(仅隐藏 / 忽略,不阻止生成)

如果只是想避免__pycache__被版本控制(如 Git)跟踪,或减少视觉干扰,可:
 
  1. 手动删除已有__pycache__目录(直接删除即可,不影响代码运行);
  2. 在项目根目录创建.gitignore文件,添加一行__pycache__/,让 Git 忽略该目录。

注意事项

  • 禁用__pycache__会导致 Python 每次运行都重新编译源码,可能略微降低启动速度(尤其是大型项目),开发阶段影响较小,生产环境建议保留。
  • 若后续需要恢复生成,只需移除-B参数或删除对应环境变量即可。

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

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

相关文章

20232411 2024-2025-1 《网络与系统攻防技术》实验五实验报告

1.实验内容 总结一下本周学习内容,不要复制粘贴 2.实验过程 3.问题及解决方案问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXXX - ...4.学习感悟、思考等 xxx xxx

【EF Core】未定义实体类的数据库模型

不知道大伙伴们有没有这样的想法:如果我不定义实体类,那 EF Core 能建模吗?能正常映射数据库吗?能正常增删改查吗? 虽然一般开发场景很少这么干,但有时候,尤其是数据库中的某些视图,就不太想给它定义实体类。好…

20232325 2025-2026-1 《网络与系统攻防技术》实验五实验报告

网络攻防信息搜集技术实验报告 1.实验内容1.1域名与IP信息搜集分析; 1.2社交网络IP地址获取与地理位置定位; 1.3靶机环境扫描探测、漏洞评估与攻击路径分析; 1.4搜索个人网上足迹与高级搜索技能实践。2.实验目的 学…

12.docker swarm - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

山东大学 计算机图形学实验 二维网格剖分 Catmull-Clark算法

原理可以参考这里 想自己写的记得注意边界条件:度数<=3的顶点不做位置调整,只和一个面相邻的边点直接取边的中点 #include <iostream> #include <fstream> #include <vector> #include <sst…

从Ubuntu安装Harbor故障到了解AppArmor 与 Seccomp的思考

Ⅰ. 冲突:级联故障下的“表象迷惑”与MTTR损失 我们从一次 Harbor 镜像仓库的启动失败开始。在修复了初期由非标准 Unicode 字符导致的 YAML 解析错误后,系统并没有如期启动,反而陷入了更深层次的循环崩溃,最终在H…

鸿蒙应用开发实战:如何从0到1打造创新应用

以「往来记」为例,揭秘创新应用的构思、设计与实现全流程💡 引言:在成熟市场中寻找创新机会 在当今应用市场趋于饱和的环境下,很多开发者都在思考:如何做出真正有创新性的应用? 通过「往来记」这个项目的完整开…

什么是“组态路径”?

什么是“组态路径”?定义: 组态路径(Configuration Path)是指多个条件变量(因素)以特定组合方式共同作用,导致某一结果变量(如高风险感知)出现的因果路径。 📌 通俗解释: 它不是看“哪个因素最重要”,而是…

2025年11月防冻液厂家推荐榜:五家对比与性能评价一览

入冬前,设备管理者、暖通工程商、冷链物流运营方乃至新能源电池厂,都在为同一件事奔忙:把系统里的“血液”换成可靠的防冻液。零下突袭的寒潮、突发的政策抽检、客户对能耗与环保的双重要求,让“选错防冻液”成为停…

深入探索剖析 JVM 的启动过程

你可曾想过:当你在终端里敲下 java,在 main 方法真正运行之前,JVM 为了“创造一个可运行你的程序的宇宙”,到底经历了哪些步骤?从参数校验、系统资源探测,到选择垃圾回收器,再到类的加载、链接与初始化,这些看…

noip8多校2

11.1511.15 t1 赛时想假2.75h,敲了10k(咋做到的?不知道) 曼哈顿距离转切比雪夫距离。 详见 直接出结论: 将每个坐标 \((x,y)\) 变作 \((x+y,x−y)\) 后,原坐标的曼哈顿距离等于新坐标的切比雪夫距离。 证明: 拆式…

2025年11月防冻液厂家推荐排行:五家实力对比与选购指南

立冬之后,北方夜间温度已逼近冰点,南方昼夜温差也迅速拉大,工业循环冷却、空气能热泵、数据中心冷却、冷链物流、冰雪场馆制冰等场景陆续进入“防冻关键期”。大量工程商、设备运维方、物业后勤和经销商开始集中备货…

2025年11月防冻液厂家推荐对比:五家资质与性能全维度排行

进入11月,华北、华东集中供暖启动,西北、东北工业循环冷却系统面临-20℃以下考验,防冻液采购高峰随之到来。用户普遍面临三大痛点:一是低温粘度升高导致泵耗上升,二是缓蚀体系不匹配造成换热器点蚀,三是环保抽查…

2025年11月防冻液厂家推荐榜:五家主流对比与选购指南

入冬前,设备管理者最怕“一夜冻裂”。北方某数据中心去年因防冻液冰点不足,板式换热器爆裂,停机六小时,直接损失超三百万元;南方食品厂用劣质载冷剂,盘管穿孔,整库货物报废。用户此刻上网搜索“防冻液厂家”,核…

2025年11月冷媒剂厂家榜单:五强技术参数与口碑对比评测

如果你正在给新建冷库、数据中心或新能源电池产线挑选冷媒剂,大概率会被三个问题困住:一是“无腐蚀”口号满天飞,却拿不出第三方检测报告;二是低温型号不少,能在零下六十度仍保持低粘度的寥寥无几;三是厂家都说自…

2025年11月载冷剂厂家推荐榜:技术资质与口碑综合评测

进入2025年第四季度,冷链、数据中心、新能源电池、冰雪运动等温控场景对载冷剂的需求持续升温。用户普遍面临“配方不透明、腐蚀风险高、低温流动性差、环保认证缺失”四大痛点,同时希望一次性锁定“资质齐全、技术迭…

一对一 WebRTC 视频聊天

“最小可运行”的一对一 WebRTC 视频聊天示例(前端+信令服务器),完全按照你给出的 8 条信令流程图实现。 技术栈:前端:原生 JavaScript + socket.io-client 信令服务器:Node.js + socket.io + Express(80 端口…

2025年11月载冷剂厂家推荐榜:五强真实数据与场景化选型指南

进入2025年冬季,北方冷库、数据中心、新能源电池产线陆续进入满负荷运行,载冷剂作为二次冷媒的“血液”,其稳定性直接决定系统能耗与设备寿命。很多工程师在招标阶段发现:同样标注“食品级”或“低电导”的产品,现…

2025年11月载冷剂厂家榜单:性能参数与口碑综合评测

进入2025年第四季度,北方集中供暖启动、冷链物流旺季叠加新能源电池扩产,载冷剂采购需求集中爆发。很多项目工程师面临“三快一严”场景:快速选型、快速比价、快速交付,同时环保与安全审查趋严。用户普遍担心三点:…

20232313 2025-2026-1 《网络与系统攻防技术》实验五实验报告 - 20232313

1.实验内容基本实验内容如下:学会使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程 通过组合应…