在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")
相关推荐
aifannihao2 小时前
AI 学习第 14 课:CNN 训 6 轮卡在 0.5352,数据没打乱
pytorch·python·深度学习·cnn·学习路线
yuyuxun12 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
如夏倾城3 小时前
百度文心(容易被忽略的好用AI)使用方式
人工智能·python·百度·语言模型·dubbo
用户019027581613 小时前
quotes 实时价和 klines 最新收盘价为什么对不上?
python
少司府4 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
打工仔折腾 AI5 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
火云代理5 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
2601_967979126 小时前
Python第七十四讲 异常处理完全精通 try-except零基础保姆级教程
python·异常处理·编程教程·错误处理·try-except
wuyk5557 小时前
Spider-第07讲-JSON接口与正则提取
爬虫·python·json
2601_967987377 小时前
Sqlite参考手册
数据库·python·sqlite·api·教程