मेरी टिप्पणी के अनुसार, आप एक कोंडा कमांड के साथ सभी वातावरण प्राप्त कर सकते हैं और फिर इसके माध्यम से लूप करने की कोशिश कर सकते हैं और उन्हें अलग-अलग हटा सकते हैं। यहां एक तरीका है जिससे आप ऐसा कुछ कर सकते हैं। ध्यान दें कि आपको anaconda_command_prompt_string
को उचित स्ट्रिंग के साथ प्रतिस्थापित करना चाहिए जो आपके एनाकोंडा कमांड प्रॉम्प्ट कॉल करता है। इसके अलावा इस कोड शायद काफी नाजुक है:
from subprocess import PIPE, Popen
anaconda_command_prompt_string = 'C:\\Windows\\system32\\cmd.exe "/K" C:\\Users\\your_user_name\\AppData\\Local\\Continuum\\Anaconda3\\Scripts\\activate.bat C:\\Users\\your_user_name\\AppData\\Local\\Continuum\\Anaconda3'
p = Popen(anaconda_command_prompt_string, stdin=PIPE, stdout=PIPE, bufsize=1)
p.stdout.readline(), # read the first line
print >>p.stdin, 'conda env list' # write input
p.stdin.flush()
p.stdout.readline()
p.stdout.readline()
p.stdout.readline()
p.stdout.readline()
envs = []
line = 'Anaconda'
while 'Anaconda' in line:
line = p.stdout.readline()
name = line.replace(' ', '').split('C:')[0]
if 'root' not in name and '\n' not in name:
envs.append(name)
for name in envs:
command_string = 'conda remove -n {0} --all --yes'.format(name)
print >>p.stdin, command_string
p.stdin.flush()
line = p.stdout.readline()
while 'Complete' not in line:
print line
line = p.stdout.readline()
print line
शायद आप 'कोंडा जानकारी --envs' जैसी कुछ कोशिश कर सकते हैं और वातावरण की सूची ले सकते हैं और उस सूची के माध्यम से 'conda remove --name envname --all' जैसे लूप बना सकते हैं। जाहिर है आपको अपने रूट पर्यावरण से बचने की आवश्यकता होगी। – Ringil
@Ringil - यदि मैं जो देख रहा हूं उसके लिए कोई "सुविधा विकल्प" नहीं है, तो आपको पता है कि उस पकड़ को कैसे पकड़ें और खिड़कियों के साथ विकल्प डालें? – MSeifert