windows terminal 中运行 miniconda 和 pip 的虚拟环境

pip创建的虚拟环境

使用命令 python -m venv hf 创建虚拟环境后,在激活时,会遇到一个错误,原因是powershell启动了严格的审查脚本策略。
这个错误信息表明你尝试在 PowerShell 中运行一个脚本(具体是激活一个虚拟环境),但是你的系统设置阻止了未经签名的脚本的执行。PowerShell 有一个叫做“执行策略”(Execution Policy)的安全特性,用于控制是否可以运行脚本以及从哪里可以运行它们。

默认情况下,PowerShell 的执行策略可能是设为 RestrictedAllSigned,这意味着只有经过数字签名的脚本才能运行,或者根本不能运行任何脚本。要解决这个问题,你需要更改执行策略以允许运行脚本。

警告: 更改执行策略可能会降低系统的安全性,因为它允许运行来自任何来源的脚本。确保只从你信任的来源运行脚本,并理解潜在的风险。

要更改执行策略,请按照以下步骤操作:

  1. 打开 PowerShell 作为管理员。
  2. 输入以下命令来查看当前的执行策略:
    Get-ExecutionPolicy
    
  3. 如果输出显示 RestrictedAllSigned,则需要将其更改为 RemoteSignedUnrestrictedUnrestricted 是最宽松的设置,允许运行所有脚本)。输入以下命令之一来更改执行策略:
    Set-ExecutionPolicy RemoteSigned
    
    或者
    Set-ExecutionPolicy Unrestricted
    
  4. 系统将提示你确认更改,键入 Y 并按 Enter 键确认。
  5. 重新启动 PowerShell 或关闭并重新打开命令行界面,然后再次尝试运行你的脚本。

请注意,更改执行策略可能会影响系统安全,因此在生产环境中应谨慎操作。如果只是临时需要运行脚本,可以考虑使用 -ExecutionPolicy 参数直接在运行脚本时指定策略,例如:

powershell -ExecutionPolicy Bypass -File .\hf\Scripts\activate

但这同样会绕过正常的执行策略检查,应小心使用。

miniconda 虚拟环境在 ternimal 中运行

如果在安装的时候,选择把 conda 加入 PATH,否则,就要在 PATH 中添加 conda 的运行目录。
然后,打开 powershell ,运行 conda --version,查看是否可以正确显示。
如果正确显示,则运行 conda init powershell,这样就可以了。

解释 conda init 帮助信息

conda 初始化命令帮助信息

使用方法:

conda-script.py init 命令用于初始化 conda 以便于在 shell 中进行交互。

必需参数:
  • SHELLS:一个或多个要初始化的 shell。如果不提供,则默认值为 Unix 上的 'bash' 和 Windows 上的 'cmd.exe' 与 'powershell'。使用 --all 标志可以初始化所有可用的 shell。可选 shell 包括:['bash', 'cmd.exe', 'fish', 'powershell', 'tcsh', 'xonsh', 'zsh']。
选项:
  • -h, --help:显示此帮助信息并退出。
  • --all:初始化所有当前可用的 shell。
  • --anaconda-prompt:在桌面上添加一个 'Anaconda Prompt' 图标。
  • -d, --dry-run:仅显示将要执行的操作,不实际执行。
配置类型:
  • --user:为当前用户初始化 conda(默认)。
  • --no-user:不为当前用户初始化 conda。
  • --system:为系统上的所有用户初始化 conda。
  • --reverse:撤销上次 conda 初始化的效果。
输出、提示和流程控制选项:
  • --json:将所有输出报告为 json。适用于程序化使用 conda。
  • -v, --verbose:可以多次使用。一次用于详细输出,两次用于 INFO 日志记录,三次用于 DEBUG 日志记录,四次用于 TRACE 日志记录。
  • -q, --quiet:不显示进度条。

关键说明:

conda 的关键功能需要它直接与调用 conda 的 shell 进行交互。conda activateconda deactivate 命令特别地,是 shell 级别的命令。也就是说,它们影响了被交互的 shell 上下文的状态(例如,环境变量)。其他核心命令,如 conda createconda install,也必然与 shell 环境交互。它们因此以特定于每个 shell 的方式实现。每个 shell 必须进行配置以利用这些命令。

此命令会对你的系统进行特定且针对每个 shell 定制的更改。在进行更改前,使用 --dry-run 标志可以看到具体哪些文件和系统位置将受到影响。为了看到每个位置将进行的确切更改,使用 --verbose 标志。

重要提示:运行 conda init 后,大多数 shell 需要关闭并重新启动以使更改生效。这确保了 shell 能够识别和应用 conda 初始化带来的环境变量和其他配置变化。

posted @ 2024-07-04 12:02  立体风  阅读(83)  评论(0编辑  收藏  举报