在Pycharm中一键迅速安装包及查看虚拟环境中包名的方法

由于每次都需要在命令行里输入一大堆命令激活环境、待安装包名等实在过于繁琐,故可通过代码输入想要安装的包名(及其版本),便可一键运行安装此包,也可直接查看此虚拟环境下已安装的包。

PS:Pycharm解释器要选conda创建的虚拟环境才可生效

1、batch_install_packages.py

python 复制代码
import subprocess
import sys


def install_packages(packages, index_url):
    total = len(packages)
    for idx, pkg in enumerate(packages, start=1):
        print(f"[{idx}/{total}] 正在安装 {pkg} ...")
        cmd = [sys.executable, "-m", "pip", "install", pkg, "-i", index_url]
        result = subprocess.run(cmd)
        if result.returncode == 0:
            print(f"✅ {pkg} 安装成功\n")
        else:
            print(f"❌ {pkg} 安装失败,请检查包名是否正确或网络是否通畅\n")
    print("🎉 所有包安装任务结束!")


if __name__ == "__main__":  # 1、支持写版本号,比如 "wxpy==0.3.2" 或 "opencv-python>=4.6" 2、自动识别当前 PyCharm 解释器所在虚拟环境 3、可自定义安装源实现快速安装
    packages_to_install = ["wxpy"]
    index_url = "https://pypi.tuna.tsinghua.edu.cn/simple"
    install_packages(packages_to_install, index_url)

2、view_virtual_environment_package.py

python 复制代码
import subprocess


def get_conda_packages(env_name="yolo"):
    try:
        result = subprocess.run(["conda", "list", "-n", env_name, "--export"], capture_output=True, text=True, check=True)
        lines = result.stdout.strip().splitlines()
        pkg_names = []
        for line in lines:
            if line.startswith("#") or not line.strip():
                continue
            if "=" in line:
                name = line.split("=")[0]
                pkg_names.append(name)
        print(f"【{env_name}】环境下的包列表(共 {len(pkg_names)} 个)\n")
        print("包名")
        print("-" * 30)
        for idx, name in enumerate(pkg_names, start=1):
            print(f"{idx}. {name}")
        print("-" * 30)
    except subprocess.CalledProcessError as e:
        print(f"错误:{e.stderr}")
    except FileNotFoundError:
        print("未找到 conda 命令,请确保 Conda 已正确安装并加入 PATH。")


if __name__ == "__main__":
    get_conda_packages("yolo")
相关推荐
新时代牛马1 小时前
ATF/ TEE / REE 与ARM 异常级别EL 安全体系完整篇:TrustZone硬件到 SMC 进OP-TEE的全链路
arm开发·python·安全
呆呆在发呆.1 小时前
Agnet狼人杀
人工智能·python·microsoft
hhzz1 小时前
【OpenCV 入门到精通 04】视频入门与绘图交互:从摄像头到鼠标画笔
人工智能·python·opencv·计算机视觉·音视频·交互
Thomas.Sir1 小时前
第40课:TensorFlow|模型推理部署前置知识【离线推理、接口调用基础】
人工智能·python·tensorflow
2601_962387821 小时前
多源数据查询指南:MySQL 联邦、Python 聚合与 Presto 引擎全对比
python·mysql·数据集成·presto·联邦查询
weixin199701080161 小时前
《Mercari OTA 直连接入:日本二手电商出海的API通道与600次/分钟限流实战》(附Python源码)
开发语言·数据库·python
进击的炸酱面2 小时前
如何在服务器中使用codex?代理配置一图详解
ide·vscode·ssh
半亩码田2 小时前
【.NET新特性·第17篇】EF Core 10 与 Aspire 13.1
python·flask·.net
持敬chijing2 小时前
VSCode 远程开发环境完整搭建指南:汉化、SSH 免密连接与版本更新锁定
ide·vscode·ssh