!conda env export > all_packages.yml
!conda env export --from-history > explicit_packages.yml
import yaml
# Load the explicitly installed packages from history
with open("explicit_packages.yml", 'r') as f:
explicit = yaml.safe_load(f)
explicit_names = explicit["dependencies"] + ["datashader"]
# Load all the packages with their versions
with open("all_packages.yml", 'r') as f:
all_pkgs = yaml.safe_load(f)
# Filter the packages to keep only explicit ones with their versions
final_deps = [pkg.rsplit("=", 1)[0] for pkg in all_pkgs['dependencies'] if pkg.split("=")[0] in explicit_names]
# Update the dependencies
explicit['dependencies'] = final_deps
del explicit["prefix"]
# Save the combined result
with open("environment.yml", 'w') as f:
yaml.safe_dump(explicit, f)
print(len(explicit_names), len(final_deps))