在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")
相关推荐
LOVE️YOU2 小时前
Python 中 Tuple 为什么有时可 Hash,有时不可 Hash?
开发语言·python·哈希算法
小oo呆2 小时前
【学习心得】迭代器和可迭代对象
开发语言·python
AC赳赳老秦2 小时前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
迅猛龙办公室2 小时前
Python输出当前计算机的系统日期和时间
开发语言·前端·python
XiaoMaqqqq4 小时前
知名的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
言乐64 小时前
Python实现语音审核模型
开发语言·python·django·virtualenv·pygame
程序员清风5 小时前
Python 数据分析环境搭建:从 Jupyter 到 pandas
python·jupyter·数据分析
月光船幽幽5 小时前
加性偏移外推提升参数识别可靠性
python·算法
BD_Marathon6 小时前
消息对象中字段的说明
java·前端·python
Java后端的Ai之路6 小时前
Python进阶探索23 - Python中的Time与Datetime模块
开发语言·数据库·python·datetime·time