2017-01-04 16 views
13

Nota prawna: Jestem ignorantem noob Linux + Anaconda.Co oznacza "następujące pakiety zostaną zastąpione przez kanał o wyższym priorytecie"?

Teraz, z tym na uboczu: Próbuję zainstalować fuzzywuzzy na mojej dystrybucji Anaconda w 64-bitowym Linuksie. Kiedy to zrobię, spróbuję zmienić kanały conda i. W następujący sposób:

wyszukiwać anakondy dla rozmytego wuzzy pisząc:

anaconda search -t fuzzywuzzy 

ta wykazała, że ​​najbardziej aktualna wersja dostępna dla anakondy w 64-bitowym systemie Linux jest warunkiem 0.13 na kanale conda-forge.

Aby zainstalować, w wierszu poleceń wpisuję:

conda install -c conda-forge fuzzywuzzy=0.13.0 

uzyskać następujące wyjścia:

The following packages will be downloaded: 

package     |   build 
---------------------------|----------------- 
conda-env-2.6.0   |    0   1017 B conda-forge 
python-levenshtein-0.12.0 |   py27_0   138 KB conda-forge 
conda-4.2.13    |   py27_0   375 KB conda-forge 
fuzzywuzzy-0.11.0   |   py27_0   15 KB conda-forge 
------------------------------------------------------------ 
            Total:   528 KB 


The following new packages will be INSTALLED: 

    fuzzywuzzy:   0.11.0-py27_0 conda-forge 
    python-levenshtein: 0.12.0-py27_0 conda-forge 

The following packages will be SUPERCEDED by a higher-priority channel: 

    conda:  4.2.13-py27_0  --> 4.2.13-py27_0 conda-forge 
    conda-env: 2.6.0-0   --> 2.6.0-0  conda-forge 

Proceed ([y]/n)? 

nie mam pojęcia, co to mówi mi: mam nadzieję kogoś może mnie oświecić.

Co to oznacza? Czy mam rację, myśląc, że to zmienia moje domyślne kanały menedżera pakietów? Czy można to cofnąć, jeśli przejdę dalej i zainstaluję? Czy istnieje sposób zakończenia instalacji bez zmiany domyślnego kanału? A może preferujesz kanały nadrzędne, które powinienem robić?

Nie chcę zmieniać mojej dystrybucji tylko dla jednego modułu lub powodować kolejne bóle głowy.

To pytanie: https://github.com/conda/conda/issues/2898 wygląda na to, że mówi mi, że powinienem na to pozwolić. Co robisz?

Jak widać, nie mam pojęcia, co robię; Oddajemy się tym, którzy mają większą wiedzę. Wielkie dzięki.

(używam wersji Anaconda: 4.2.13 i 2.7.12 Python)

+2

Mówi: Masz zainstalowaną wersję warunkową 4.2.13 z domyślnego kanału. Kanał conda-forge zapewnia tę samą wersję. Ponieważ nadałeś kanałowi conda-forge wyższy priorytet, conda przełączy się na pakiet z conda-kuge, nawet jeśli jest to ta sama wersja, a nie aktualizacja. – cel

+0

Dziękuję za komentarz.Powiedziałeś: "Odkąd nadałeś kanałowi conda-forge wyższy priorytet" - Gdzie to zrobiłem? Kiedy próbowałem zainstalować z conda-kuge? – Chuck

+0

@cel Twój komentarz będzie doskonałą odpowiedzią! –

Odpowiedz

4

Kiedy pytasz Conda zainstalować fuzzywuzzy z Conda-kuźni, fuzzywuzzy wskazuje, że potrzebuje conda i conda-env. Conda wykrywa, że ​​już je zainstalowałeś, ale wie również, że zostały zainstalowane z domyślnego kanału, a nie z conda-forge.

Teraz, jako użytkownik, możesz spodziewać się, że 4.2.13-py27_0 w kanale domyślnym i kanale conda-forge będą dokładnie takie same (i powinny), ale conda nie może zagwarantować, że tak jest. Programiści mogli bardzo dobrze załadować różne pakiety do kanałów domyślnych i kanałów conda-forge.

To spowodowałoby kilka naprawdę podejrzanych błędów, a aby uniknąć tych warunków, woli instalować zależności z tego samego kanału co nowy pakiet. To właśnie oznacza komunikat, pakiet zostaje zastąpiony tym samym pakietem, ale z innego kanału, któremu nadano wyższy priorytet, używając -c conda-forge.