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

问题描述

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

复制代码
C:\Users\admin\Documents\WindowsPowerShell\profile.ps1

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

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

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

powershell 复制代码
Get-ExecutionPolicy -List

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

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

powershell 复制代码
If (Test-Path "D:\Application\miniconda3\Scripts\conda.exe") {

判断 conda 是否存在

防止 conda 被删后 PowerShell 报错

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

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

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️⃣ 执行下面这条命令:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

RemoteSigned 的含义是:

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

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

复制代码
Y

4️⃣ 关闭 PowerShell,重新打开

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


方案 2:不需要 profile.ps1

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

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


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

powershell 复制代码
Set-ExecutionPolicy Unrestricted

不推荐,因为:

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

相关推荐
Είναι η κοπέλα2 天前
显存计算与模型选择:你的显卡能跑多大的模型
人工智能·pytorch·python·开源·conda
天蓝蓝的本我2 天前
conda日常用到的命令积累1-登录linux,安装pycharm
linux·pycharm·conda
Είναι η κοπέλα4 天前
Python 虚拟环境:venv、conda 与 Python 版本选择全解
开发语言·python·conda
夏天拐跑了西瓜6 天前
一文入门LangChain:从框架认知到构建你的第一个AI Agent
python·langchain·conda·agent
weixin_461769406 天前
机械臂SDK运行日志
conda·sdk
三点水-here8 天前
从 Miniconda 迁移到 Miniforge3 全记录:安装、配置、环境迁移与排错实录
python·conda
MI_farmer9 天前
Anaconda 安装在 D 盘但虚拟环境跑到 C 盘,以及 Conda PermissionError: WinError 5 的解决方法
c语言·开发语言·conda
伞伞悦读16 天前
【第39期】Python 第三方包安装详解:pip、conda、requirements、版本锁定和镜像源
python·conda·pip
梦想不只是梦与想18 天前
环境管理:Conda 与 venv
python·conda·uv
梦想不只是梦与想20 天前
环境管理系统:Conda(一)
python·conda·环境隔离