De Anaconda-omgeving was beschadigd toen ik dacht dat de Jupyter Notebook niet zou starten

2019 年 4 月 12 日

Wanneer ik een nieuw pakket met pip plaats, lijkt het erop dat de conda-omgeving kapot is.In dit artikel leggen we de oorsprong, de oorzaakonderzoek / bevestigingsmethode en de oplossing vast.

De omgeving waarin dit ongeval plaatsvond, was als volgt. OS is Windows 10.

conda-versie: 4.6.8 conda-build-versie: niet geïnstalleerd python-versie: 3.7.2.final.0 OS: Windows 10 64 bit

Het begin van de zaak

Op een dag, toen ik Jupyter Notebook zoals gewoonlijk startte, kwam er een venster tevoorschijn en verdween in een oogwenk.Zelfs als u het opnieuw probeert of uw computer opnieuw opstart, verandert dit helemaal niet ...

Ik stopte het in een nieuw pakket met de pip die ik er net eerder in had gestopt, dus ik dacht dat ik alles voorlopig moest updaten, vanaf de Anaconda-prompt
・ Conda zelf update ( conda update -n base conda)
- Werk alle geïnstalleerde pakketten bij (conda update --all)
Ik probeerde.

Dan is de volgende weergave ...

Oplossingsomgeving: / WAARSCHUWING conda.common.logic: get_sat_solver_cls (278): Kan SAT-oplosser niet uitvoeren via interface'pycosat '. CondaDependency is misluktError: kan solver niet uitvoeren. Geen werkende SAT-implementaties beschikbaar.

Blijkbaar werkt de "SAT-oplosser" niet goed.

Op de officiële paginaArtikel over hoe conda werktHet lijkt erop dat conda de SAT-oplosser gebruikt om "metadata voor alle pakketten in de omgeving te verzamelen en te verifiëren dat hun afhankelijkheden correct worden vervuld".

Het feit dat de pakketten in de omgeving niet te vatten zijn, betekent dat er iets met de omgeving is gebeurd.

Bevestigingsmethode

Concluderend was het te wijten aan een botsing tussen conda en pip.Voor de oorzaak heb ik heel veel naar de volgende site verwezen.

conda en pip: gevaar voor vermenging

"Het gebruik van pip onder Anaconda zal onverwacht de omgeving vernietigen en in het ergste geval zal je Anaconda zelf opnieuw moeten installeren."
"Als je wilt zien of er een pip en conda-conflict is in je reeds gebouwde conda-omgeving,conda listUitvoeren. "

Je eigen omgevingconda listAls je het controleert, zijn er zeker enkele overlappingen (gemarkeerd op een witte achtergrond in de afbeelding).

Dubbele pakketten geïnstalleerd met conda en pipBovendien wordt uiterst rechts "pypi" weergegevenpip installDoor, niet gemarkeerdconda installHet komt door.

Dit kan in botsing zijn gekomen met wat is geïnstalleerd door pip en de SAT-oplosser kan niet worden uitgevoerd, waardoor de conda-omgeving zelf vastloopt.

Installeer Anaconda opnieuw

U kunt de installatie niet ongedaan maken met Anaconda-Clean omdat de Anaconda-prompt niet werkt.

Verwijder het uit [Een programma verwijderen] in [Configuratiescherm] en installeer het opnieuw.Details worden ook hieronder samengevat.


Verschil tussen conda install en pip installIk heb er ook onderzoek naar gedaan, dus ik zou het op prijs stellen als je ernaar zou kunnen verwijzen.