【备份】自动列出虚拟环境供用户选择激活

PyCharm虚拟环境pip报错:从原理到根治的完整指南 虚拟环境是Python开发中实现项目依赖隔离的核心机制,它通过创建独立的Python运行环境,避免不同项目间的包版本冲突。其工作原理主要基于环境变量PATH的优先级调整,将虚拟环境的可执行文件目录置于系统路径之前。这一技术对于保证项目可复现性和团队协作一致性具有重要价值,广泛应用于Web开发、数据科学和机器学习等场景。然而,在PyCharm等IDE中,虚拟环境与系统环境的交互常因环境变量配置问题引发冲突,典型表现就是pip命令执行失败。本文聚焦于PyCharm终端中常见的'Try to run this c 阅读详情

【备份】自动列出虚拟环境供用户选择激活

需求

  1. 退出当前的虚拟环境(包括退出base)。
  2. 列出每个虚拟环境并添加一个编号显示。
  3. 等待用户输入,并激活该虚拟环境。如输入不在列表范围,则重新弹出提示,直到用户选择正确或按下Ctrl+c退出。

解决&实现

  • 在shell的启动脚本中添加一个函数实现
  • 编辑 .zshrc 或 .bashrc 文件并添加以下函数。留意两个shell中的read方法有区别,bash中用read -p,zsh中用read即可
act_conda_envs() {
    # 检测当前使用的 shell
    if [ -n "$ZSH_VERSION" ]; then
        # 使用 zsh 的读取方法
        read_input() {
            echo -n "Enter the number of the environment to activate (or press Ctrl+c to exit): "
            read choice
        }
    elif [ -n "$BASH_VERSION" ]; then
        # 使用 bash 的读取方法
        read_input() {
            read -p "Enter the number of the environment to activate (or press Ctrl+c to exit): " choice
        }
    else
        echo "Unsupported shell. This script works with zsh and bash."
        return 1
    fi

    # 1. 执行 conda deactivate 命令,直到退出 base 环境
    while [[ "$CONDA_DEFAULT_ENV" == "base" ]]; do
        conda deactivate
    done

    # 2. 列出 conda env list 的内容,并添加编号
    echo "Listing conda environments with numbers:"
    env_list=$(conda env list | grep -v '#' | awk '{print $1}' | grep -v '^$')

    i=1
    while IFS= read -r env; do
        echo "($i). $env"
        ((i++))
    done <<< "$env_list"

    # 3. 等待用户输入,并执行激活该虚拟环境的命令
    while true; do
        read_input

        if [[ "$choice" =~ ^[0-9]+$ ]] && (( choice >= 1 && choice <= i-1 )); then
            selected_env=$(echo "$env_list" | sed -n "${choice}p")
            echo "Activating environment: $selected_env"
            conda activate "$selected_env"
            break
        else
            echo "Invalid input. Please enter a number between 1 and $(($i-1))."
        fi
    done
}
  • 修改后执行source .bashrc或source .zshrc

结果

(base) think@xsyDL-4090solo:~$ act_conda_envs
Listing conda environments with numbers:
(1). base
(2). aidoc
(3). codegeex
(4). cogvlm2
(5). mem0ai
(6). sensevoice
(7). vllm
Enter the number of the environment to activate (or press Ctrl+c to exit): 5
Activating environment: mem0ai
(mem0ai) think@xsyDL-4090solo:~$
从Anaconda到Miniconda:无缝迁移虚拟环境的完整指南 本文详细介绍了如何从Anaconda迁移到Miniconda并完整保留虚拟环境配置。通过备份环境YAML文件、安装轻量级Miniconda、恢复虚拟环境等步骤,帮助开发者解决Anaconda占用空间过大问题,实现高效Python开发环境管理。文章特别强调了虚拟环境迁移的关键技巧和常见问题解决方案。 阅读详情

相关推荐

基于Restic与B2构建自动化个人数据备份系统实践

数据备份是数据安全与容灾领域的核心基础技术,其核心原理在于通过定期创建数据副本,确保在原始数据丢失或损坏时可恢复。在技术实现上,增量备份与去重技术能极大提升存储效率,而端到端加密则保障了数据的隐私安全。这些技术的工程价值在于构建一套可靠、自动化的数据保护基础设施,尤其适用于个人开发者、小型团队及数字资产管理者。典型的应用场景包括代码仓库、工作文档、家庭照片与视频等重要数字资产的长期归档与容灾。本文以Restic备份工具为核心,结合Backblaze B2云存储与Systemd自动化编排,详细演示了如何构建一

ajwh64482的博客 558

如何查看anconda中的虚拟环境并选择其中的一个卸载(自用)

要查看Anaconda中的虚拟环境并选择其中一个卸载,请按照以下步骤逐步操作。Anaconda的虚拟环境允许您隔离不同的Python项目和依赖项,避免冲突。以下步骤基于conda命令,在终端或命令提示符中执行(在Windows上建议使用Anaconda Prompt,在macOS或Linux上使用终端)。

lzq526236714的博客 498

告别Anaconda,Miniforge轻装上阵:无缝迁移虚拟环境实战指南

本文详细介绍了如何从Anaconda迁移到更轻量化的Miniforge,包括备份虚拟环境、彻底卸载Anaconda、安装配置Miniforge以及迁移虚拟环境的完整步骤。通过使用conda-forge作为默认channel和mamba加速包管理,Miniforge在性能和资源占用上显著优于Anaconda,是开发者的理想替代方案。

weixin_33737134的博客 614

Python虚拟环境创建和使用总结

我们知道,python程序的开发和运行,需要基于python环境。

qq_28576837的博客 4611

Kali Linux下使用Python虚拟环境安全安装ROPgadget的完整指南

在二进制安全研究和漏洞利用领域,ROP(Return-Oriented Programming)技术是绕过内存保护机制的关键方法,它通过复用程序中已有的代码片段(gadgets)构建攻击链。其原理是利用程序中的ret指令串联多个gadget,实现任意代码执行而不需要注入新代码。这项技术的价值在于能够有效对抗数据执行保护(DEP)等安全机制,在渗透测试和漏洞分析中具有重要地位。ROPgadget作为自动化查找ROP链的核心工具,广泛应用于CTF竞赛、漏洞研究和二进制分析等场景。本文针对Kali Linux环境

weixin_34184561的博客 372

Linux服务器多用户Anaconda环境配置与虚拟环境管理最佳实践

在数据科学和机器学习项目中,Python环境管理是保障项目可复现性和团队协作效率的基础。Conda作为主流的包与环境管理器,其核心原理在于通过创建隔离的虚拟环境来解决不同项目间的依赖冲突。这项技术的核心价值在于,它允许开发者在同一台机器上维护多个独立的Python运行时,每个环境拥有专属的库版本,从而确保了从开发到部署的环境一致性。在Linux服务器,尤其是多用户共享的生产环境中,合理的环境配置策略能有效提升资源利用率和运维安全。应用场景广泛覆盖从个人数据分析到团队协同的模型开发与部署。本文聚焦于在Linu

weixin_33767813的博客 394

系统说明用conda新建虚拟环境,以及后续管理,删除,并在pycharm中引用

下面是一份。

weixin_42158501的博客 882

无需重装,巧用备份迁移法修复Windows 11上的Anaconda环境

本文详细介绍了在Windows 11上无需重装Anaconda即可修复环境的备份迁移法。通过备份envs和pkgs目录,全新安装后选择性迁移关键数据,保留原有虚拟环境和安装包,有效解决conda命令失效等问题。这种方法特别适合依赖复杂Python环境的开发者,避免重新配置的麻烦。

weixin_30603633的博客 209

Python开发环境搭建指南:从编辑器选择到虚拟环境配置

在软件开发中,集成开发环境(IDE)和代码编辑器是开发者提高生产力的核心工具。它们通过提供智能代码补全、语法高亮、调试支持和项目管理等功能,帮助开发者更高效地编写和维护代码。理解不同工具的设计哲学和适用场景,能够显著提升开发效率和代码质量。在Python开发领域,环境隔离是另一个关键技术概念,它通过虚拟环境为每个项目创建独立的依赖空间,有效解决了包版本冲突问题。这一实践对于现代软件开发,特别是涉及多种第三方库的Web开发、数据科学和机器学习项目至关重要。本文将围绕PyCharm和VSCode这两款主流工具,

weixin_30266885的博客 295

Windows多版本Python管理:从安装配置到虚拟环境实战指南

Python作为一门广泛应用于数据分析、后端开发和自动化脚本的编程语言,其版本管理是开发者必须掌握的基础技能。Python版本管理的核心原理在于通过环境隔离解决不同项目对解释器版本和第三方库的依赖冲突问题。在Windows系统中,这一技术价值尤为突出,能够有效避免“在我的机器上能跑”的经典问题,确保开发环境的纯净性和可复现性。通过合理使用官方安装程序、Py Launcher工具和内置的venv模块,开发者可以优雅地管理多个Python版本,并为每个项目创建独立的虚拟环境。这种实践特别适用于需要同时维护遗留项

weixin_30680385的博客 302

Anaconda虚拟环境全攻略:从安装配置到项目实战

在Python开发中,依赖管理是确保项目稳定运行的核心技术。通过创建隔离的虚拟环境,开发者可以为不同项目配置独立的Python版本和第三方库,从而避免版本冲突问题。这一技术原理基于环境隔离机制,其价值在于提升开发效率、保障项目可复现性,并广泛应用于数据科学、机器学习、Web开发等场景。Anaconda作为强大的环境管理工具,通过conda命令简化了虚拟环境的创建与管理流程,特别适合处理复杂依赖关系。本文以qwen环境创建为例,详细解析从安装配置到与PyCharm、VS Code等开发工具集成的完整工作流,帮

weixin_34200628的博客 420

Python虚拟环境实战:venv、conda与requirements.txt全解析

虚拟环境是Python工程化的基石,本质是解决依赖隔离与环境可复现性问题。其原理在于通过路径隔离(如venv的符号链接)或运行时栈封装(如conda的二进制包管理),切断项目与系统Python及全局包的耦合。技术价值体现在避免版本冲突、保障CI/CD稳定性、支撑多项目并行开发。典型应用场景包括Web开发、数据科学、AI模型部署及团队协作交付。本文聚焦venv与conda的本质差异、跨平台创建激活实操、requirements.txt的契约化生成规范,并结合‘pip不是内部命令’‘ModuleNotFound

weixin_33997389的博客 1127

PyCharm与Conda虚拟环境配置全攻略:解决Python项目依赖冲突

在Python开发中,虚拟环境是管理项目依赖、解决库版本冲突的核心技术。其原理是为每个项目创建独立的Python运行环境,实现包依赖的完全隔离。这一技术对于数据科学、机器学习等领域的工程实践尤为重要,能有效避免不同项目因TensorFlow、NumPy等关键库版本不兼容导致的问题。通过Conda这一跨平台环境管理器,开发者可以便捷地创建、复制和迁移包含特定Python版本及依赖的虚拟环境。结合PyCharm这一集成开发环境,开发者能够在享受智能编码辅助的同时,直接使用隔离的Conda环境进行开发调试,大幅提

axfcjwkbi259888707的博客 397

Conda虚拟环境管理:从创建到实战的完整指南

在Python开发中,虚拟环境是解决项目依赖冲突、实现环境隔离的核心技术。其原理是通过修改系统PATH变量,将特定Python解释器和第三方库的路径置于优先位置,从而为每个项目创建独立的工作空间。这项技术的核心价值在于保障项目依赖的纯净性与可复现性,尤其适用于数据科学、机器学习等依赖复杂的应用场景。通过掌握环境创建、激活、退出和删除等基础操作,开发者能有效管理多个项目的依赖版本,避免因库版本不匹配导致的运行错误。本文以Conda为例,深入解析其作为跨语言环境管理工具在包管理和依赖解析方面的优势,并分享Jup

weixin_30628077的博客 362

机器人C++开源库The Robotics Library (RL)使用手册(三)

进入VS工程,我们先看看这些功能函数及其依赖库的分布关系:rl命名空间下,主要有八大模块。搞定VS后将逐个拆解。

qq_34839823的博客 1736

ENVI哨兵一号数据处理

使用ENVI+SarScape处理哨兵数据

Rjjjjj11的博客 2万+

Python 下载安装教程:从官网选择版本到配置 pip 与虚拟环境

Python 作为最流行的编程语言之一,其环境搭建是开发者入门的必经之路。很多初学者在下载安装 Python 时,常因版本选择混乱、PATH 未配置、pip 无法识别等问题而卡壳。理解解释器、包管理工具与虚拟环境的关系,是高效管理开发环境的核心。本文从编程环境配置的基础概念出发,介绍如何正确获取 Python 安装包、在 Windows 与 macOS/Linux 上完成部署,并通过 pip 镜像源与 venv 实现依赖隔离。无论是新手首次搭建,还是开发者需要解决多版本共存与模块导入异常,掌握这些工程实践都

ciya3282的博客 432

AI在个性化营养方案制定中的应用:从代谢组学到膳食规划

本文章的主要目的是全面探讨AI在个性化营养方案制定过程中的应用,从代谢组学的数据收集与分析,到基于这些数据制定合理的膳食规划。范围涵盖了AI技术在该领域的核心概念、算法原理、数学模型、实际项目应用,以及相关的工具和资源推荐等方面。旨在为科研人员、营养师、软件开发人员等提供一个系统的知识体系,帮助他们更好地理解和应用AI技术来实现个性化营养方案的制定。核心概念与联系:介绍AI、代谢组学和膳食规划的核心概念,以及它们之间的相互联系,并通过文本示意图和Mermaid流程图进行展示。

架构师的AI之路,分享AI应用开发架构的学习与实践。 1028

5分钟跑通 GetQzonehistory 完整指南:QQ空间历史说说一键导出与自动备份

QQ空间从不提供数据导出入口,删过的说说、翻不动的老动态,手动一条条截图复制,既慢又容易漏。GetQzonehistory 是一个开源的纯本地 Python 工具,官方扫码登录后自动导出 QQ 空间历史说说,连同配图和评论一起存成 Excel 表格和网页版。适合不想写代码、只想把数据搬回自己电脑的普通用户:配置加扫码约 5 分钟跑通,之后导出全程自动。 ## QQ空间数据依赖安装与扫码登录步骤:

gitblog_00693的博客 141

5分钟搞定!用Keil MDK将STM32F103C8T6工程无缝迁移到ZET6开发板

本文详细介绍了如何在Keil MDK环境下快速将STM32F103C8T6工程迁移到ZET6开发板,涵盖硬件差异对比、工程配置调整、外设适配及编译排错等关键步骤,帮助开发者5分钟内完成工程移植,大幅提升开发效率。

weixin_30879169的博客 407

BRep实战指南:从理论到文件格式的全面解析

本文全面解析BRep(边界表示法)从基础概念到文件格式的实战应用。详细介绍了BRep的数学定义、工业应用场景,以及STEP、IGES等主流文件格式的对比与使用技巧,帮助读者掌握三维建模核心技术并优化性能。

weixin_29235923的博客 407

次元画室快速上手:Anaconda虚拟环境创建与依赖隔离

本文介绍了如何在星图GPU平台上自动化部署🎨 次元画室 (Dimension Studio)镜像,并快速创建独立的Anaconda虚拟环境以隔离项目依赖。该镜像的核心应用场景是AI绘画与图片生成,通过配置专属环境,用户可以高效、稳定地运行相关模型,避免依赖冲突,专注于创意内容创作。

weixin_42471823的博客 193

学Simulink--基于风力发电系统的场景实例:海上风电场在复杂海况下的动态响应仿真

本实例将创建一个针对海上风电场在复杂海况下的动态响应模型。该模型不仅考虑了不同风速条件的影响,还引入了波浪和水流对风机塔架及基础结构的影响。通过仿真验证系统的有效性,并探索最佳控制参数设置以提高整体性能和稳定性。本教程展示了如何在Simulink中实现一个海上风电场在复杂海况下的动态响应仿真模型,并分析其性能。通过这种方式,我们不仅可以验证所提出的技术手段在提高海上风电场稳定性和效率方面的有效性,还能进一步探索优化参数以适应特定的应用场景。

xiaoheshang_123的博客 167

Virtualenv Burrito终极指南:一键搞定Python虚拟环境配置

🚀 你是否厌倦了手动配置Python虚拟环境的繁琐步骤?Virtualenv Burrito正是为解决这一问题而生的**终极工具**!这个神奇的项目让你只需一个命令,就能拥有完整的virtualenv + virtualenvwrapper环境。无论你是Python新手还是经验丰富的开发者,Virtualenv Burrito都能帮你**快速**搭建Python虚拟环境,让编码工作变得更加**简

gitblog_00447的博客 388

git clone出现fatal: unable to access Failed to connect to github.com port 443: Timed out解决方案

本文主要介绍了git clone出现fatal: unable to access Failed to connect to github.com port 443: Timed out解决方案,希望能对使用git的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 23万+

为分析表明卡诺电池技术(或热泵式储电技术)-是目前最佳的储能技术!!!-2021年

卡诺电池(Carnot Battery)是一种基于热力学循环的储能技术,其核心原理是通过热力循环将电能转化为热能存储,并在需要时将热能重新转换为电能输出。这种技术得名于热力学中的卡诺循环原理,由法国工程师卡诺于1824年提出。

qq_15963745的博客 654
上一篇: 【备忘】miniconda环境迁移至miniforge环境
下一篇: 【备忘】 交叉编译环境搭建
LateLinux
博客等级 码龄18年 65粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值