booooo dlaczego nie można zmienić nazwy conda env?
Charlie Parker
6
aby zostawić trochę pracy tym, którzy rozwidlają conda i tym samym sprawiają, że rozumieją znacznie więcej na drodze: P: D
Saravanabalagi Ramachandran
3
Innym sposobem jest sklonowanie środowiska, conda create --name new_name --clone old_namea następnie usunięcie starego.
Y0da,
4
Słowo ostrzeżenia - próbowałem to zrobić i napotkałem dziwne błędy - mój .bashrcjuż nie działał, a próba uruchomienia pytestzakończy się niepowodzeniem, próba odniesienia się do usuniętego środowiska. Próbowałem nowych powłok i restartowałem bez powodzenia. Skończyło się na wysadzeniu nowego środowiska, a następnie po prostu zacznij od czystej instalacji. Wolniej, ale wydaje się, że teraz działa.
dwanderson
3
@dwanderson +5000, ponieważ zamierzałem spróbować użyć tej odpowiedzi, ale zamiast tego po prostu ściągnę bandaidę i odtworzę od razu moją źle nazwaną env.
W PackagesNotFoundError: The following packages are not available from current channelstym skrypcie wystąpił błąd . Ten skrypt prawdopodobnie działa tylko wtedy, gdy nie masz pakietów zainstalowanych za pomocą pip i które nie są dostępne w conda w istniejącym środowisku?
Yuxuan Chen
5
conda create --name new_name --copy --clone old_name jest lepiej
Używam, conda create --name new_name --clone old_namektóry jest bez, --copy
ale napotkał przerwy w pipach ...
Ta odpowiedź łamie jupyter. Jupyter zgłasza „nie znaleziono ścieżki” podczas próby uruchomienia jądra Pythona.
MD004,
5
Istnieje ogromne ryzyko zniszczenia środowiska
FabienP
2
nie rób tego.
BenP
jednym z powodów jest to zły pomysł - w katalogu env / name znajdują się pliki zawierające bezwzględną ścieżkę do tego katalogu. Jeśli przeniesiesz katalog, ścieżka przestanie działać, ponieważ wskazuje na stary katalog, który już nie istnieje: envs / ds_tensorflow / Lib / site-packages / sipconfig.py: 'default_bin_dir': 'C: / Users / me / miniconda3 / envs / ds_tensorflow ', envs / ds_tensorflow / Lib / site-packages / sipconfig.py:' default_mod_dir ':' C: / Users / me / miniconda3 / envs / ds_tensorflow \\ Lib \\ site-packages ',
Odpowiedzi:
Nie możesz
Jednym z obejść jest utworzenie środowiska klonowania, a następnie usunięcie oryginalnego:
(pamiętaj o dezaktywacji obecnego środowiska
deactivate
w systemie Windows isource deactivate
MacOS / Linux)Istnieje kilka wad tej metody:
--offline
flagi, aby ją wyłączyć,Występuje otwarty problem z żądaniem tej funkcji.
źródło
conda create --name new_name --clone old_name
a następnie usunięcie starego..bashrc
już nie działał, a próba uruchomieniapytest
zakończy się niepowodzeniem, próba odniesienia się do usuniętego środowiska. Próbowałem nowych powłok i restartowałem bez powodzenia. Skończyło się na wysadzeniu nowego środowiska, a następnie po prostu zacznij od czystej instalacji. Wolniej, ale wydaje się, że teraz działa.Na podstawie pomocnego komentarza dwandersona udało mi się to zrobić w jednej linijce Bash:
Mój źle nazwany env to „env1”, a nowy, którego chcę sklonować, to „envpython2”.
źródło
PackagesNotFoundError: The following packages are not available from current channels
tym skrypcie wystąpił błąd . Ten skrypt prawdopodobnie działa tylko wtedy, gdy nie masz pakietów zainstalowanych za pomocą pip i które nie są dostępne w conda w istniejącym środowisku?conda create --name new_name --copy --clone old_name
jest lepiejUżywam,
conda create --name new_name --clone old_name
który jest bez,--copy
ale napotkał przerwy w pipach ...następujący adres URL może pomóc Instalowanie tensorflow w sklonowanym środowisku conda powoduje uszkodzenie środowiska conda, z którego został sklonowany
źródło
Wystarczy otworzyć folder „\ Anaconda \ envs” i zmienić jego nazwę.
Przed zmianą nazwy
Po zmianie nazwy
źródło