news 2026/8/21 23:37:18

【conda】解决每次打开powershell报错无法加载文件(自启动conda脚本)的问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【conda】解决每次打开powershell报错无法加载文件(自启动conda脚本)的问题

问题描述

每次启动 PowerShell,都会自动执行一个启动脚本

C:\Users\admin\Documents\WindowsPowerShell\profile.ps1

但当前系统的执行策略是禁止运行脚本(通常是Restricted),于是就出现了:

无法加载文件 profile.ps1,因为在此系统上禁止运行脚本

如果好奇现在是什么状态,可以运行:

Get-ExecutionPolicy-List


然后记事本打开看一个这个profile.ps1到底是什么东西:


这个文件是 conda 自动生成的,为了能在ps里运行conda。逐行解释:

If(Test-Path"D:\Application\miniconda3\Scripts\conda.exe"){

判断 conda 是否存在
防止 conda 被删后 PowerShell 报错

(&"D:\Application\miniconda3\Scripts\conda.exe""shell.powershell""hook")

让 conda 输出一段PowerShell 专用初始化脚本

|Out-String|?{$_}|Invoke-Expression

把这段脚本「当成 PowerShell 代码执行」

整个文件目的是:

  • conda命令可用
  • conda activate xxx不会报错
  • (base)/(env)前缀能正常显示

如果这个脚本不生效的话,就无法在ps直接执行conda activate,包括在一些默认终端是powershell的ide里无法用conda,除非执行cmd转换成命令提示符终端。(这样就很蠢对吧,我之前一直没发现这个问题,所以一直都是把ps变成cmd用的)



解决方案

方案 1(最推荐):只放开「当前用户」

这是最安全、最常用的做法,不影响系统其他用户。

1️⃣ 以「普通方式」打开 PowerShell 而不用管理员身份

(额其实用管理员运行也可以,反正-Scope CurrentUser改的也是当前用户的设置。区别只是不需要输入Y确认了而已。)

2️⃣ 执行下面这条命令:

Set-ExecutionPolicy-Scope CurrentUser-ExecutionPolicy RemoteSigned

RemoteSigned的含义是:

  • 本机写的脚本:可以运行
  • 从网上下载的脚本:需要签名
  • profile.ps1 属于本机脚本 →完全没问题

3️⃣ 出现提示时,输入:

Y

4️⃣ 关闭 PowerShell,重新打开

这是微软官方也推荐的日常设置。


方案 2:不需要 profile.ps1

如果根本不需要 profile.ps1:直接删掉这个文件即可

比如说你根本没有在ps用conda的需求,你仅仅使用anaconda prompt和cmd。


方案 3(不推荐):彻底关闭脚本限制

Set-ExecutionPolicyUnrestricted

不推荐,因为:

  • 所有脚本都能跑
  • 有安全风险
  • 一般只有测试环境才这么干

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 7:10:26

Go 语言结构体

Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Titl…

作者头像 李华
网站建设 2026/8/21 22:16:58

C语言图论:最小生成树算法

本文献给: 已掌握图论基础,希望理解如何在带权连通图中找到最小生成树的C语言学习者。本文将系统讲解两种经典的最小生成树算法。 你将学到: 最小生成树问题的定义与核心概念Prim算法:从顶点出发,逐步扩张生成树Kruska…

作者头像 李华
网站建设 2026/8/21 22:15:59

探索 BMS 仿真:搭建电池管理系统的 Matlab 模型

BMS仿真,电池管理系统,整个BMS的matlab仿真模型。 包含限位,EKF-SOC,均衡,充点电控制,冷却风机,充电控制,开机自检功能。 SOC:State of charge,电池剩余电量百…

作者头像 李华
网站建设 2026/8/21 15:59:40

Node.js 内存限制探究:如何通过 –max-old-space-size 调优 V8 堆空间

各位学员,大家好!今天,我们将深入探讨Node.js应用中一个至关重要但常被忽视的方面:内存管理,特别是V8 JavaScript引擎的堆空间限制以及如何通过--max-old-space-size参数进行调优。在构建高性能、高稳定性的Node.js服务…

作者头像 李华