#!usr/bin/env python3
import subprocess
import yaml
# 读取 environment.yml 文件
with open('environment.yml', 'r') as file:
env = yaml.safe_load(file)
# 获取已安装包列表
installed_packages = subprocess.check_output(['conda', 'list']).decode('utf-8').split('\n')
installed_packages = [line.split()[0] for line in installed_packages if line]
# 从 environment.yml 文件中提取依赖项
dependencies = env['dependencies']
# 检查哪些依赖项已安装
installed = []
not_installed = []
for dep in dependencies:
if isinstance(dep, str):
package_name = dep.split('=')[0]
if package_name in installed_packages:
installed.append(package_name)
else:
not_installed.append(package_name)
elif isinstance(dep, dict) and 'pip' in dep:
for pip_dep in dep['pip']:
package_name = pip_dep.split('==')[0]
if package_name in installed_packages:
installed.append(package_name)
else:
not_installed.append(package_name)
print("已安装的依赖项:", installed)
print("未安装的依赖项:", not_installed)