Не удается получить доступ к активации, деактивации или conda в среде conda

1

Поэтому, если я загружаю среду conda и хочу использовать conda для установки пакета (или что-то еще), я должен указать conda.exe.

Что я ожидаю работать:

(randomenv) λ conda --version
The system cannot find the path specified.

Что на самом деле работает:

(randomenv) λ conda.exe --version
conda 4.5.4

Дальнейшее усложнение вещей, следующее:

(randomenv) λ where conda
C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts\conda
C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts\conda.bat
C:\ProgramData\Anaconda3\Scripts\conda.exe

Предполагается, что первая запись должна быть C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts\conda.exe и среда была настроена неправильно или что-то еще?

Редактировать:

Теперь мы имеем дело с проблемами, связанными с использованием. Я не могу использовать deactivate, потому что deactivate не имеет расширения .exe.

В обычном режиме, where deactivate:

C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts\deactivate
C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts\deactivate.bat
C:\ProgramData\Anaconda3\Scripts\deactivate
C:\ProgramData\Anaconda3\Scripts\deactivate.bat

Еще более смешно расстраивает:

(randomenv) λ C:\Users\[USERNAME]\AppData\Local\conda\conda\endevs\randomenv\Scripts\deactivate
The system cannot find the path specified.

и тогда он становится еще лучше:

(randomenv) λ cd C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts\

C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts
(randomenv) λ ls
2to3.exe*       conda*          easy_install.exe*       epylint-script.py  iptest3.exe*        ipython-script.py  pip-script.py    pygmentize-script.py  pyreverse.bat        symilar.exe*
2to3-script.py  conda.bat       easy_install-script.py  idle.exe*          ipython.exe*        isort.exe*         pydoc.exe*       pylint.bat            pyreverse.exe*       symilar-script.py
activate*       deactivate*     epylint.bat             idle-script.py     ipython3.exe*       isort-script.py    pydoc-script.py  pylint.exe*           pyreverse-script.py  wheel.exe*
activate.bat    deactivate.bat  epylint.exe*            iptest.exe*        ipython3-script.py  pip.exe*           pygmentize.exe*  pylint-script.py      symilar.bat          wheel-script.py

C:\Users\[USERNAME]\AppData\Local\conda\conda\envs\randomenv\Scripts
(randomenv) λ deactivate
The system cannot find the path specified.

Как он не может найти файл, который в текущем каталоге???? Я совершенно потерян, потому что это происходит.

Edit2:

В GitHub появилась следующая проблема, в которой говорится, что для выхода из среды требуется activate root. Это тоже не работает, потому что activate не может быть найдена точно так же, как и все другие функции, перечисленные выше.

Теги:
anaconda
conda

2 ответа

0

Это только что случилось со мной. Вот что я узнал.

В папке скриптов моей среды было три скрипта:

activate.bat
conda.bat
deactivate.bat

наряду с еще тремя без расширения .bat, которые были скриптами bash. В каждом случае все, что они делали, - это делегат глобально установленной копии того же инструмента, используя абсолютный путь.

При получении команды, такой как "conda" в приглашении, Windows будет искать файл .com,.exe или .bat для выполнения, беря первый найденный файл. Поскольку активация среды добавляет ее местоположения в начало пути, окна первого экземпляра найдут файл .bat в среде, который будет выполнен.

В моем случае файлы .bat имели неправильный абсолютный путь и пытались делегировать глобальную копию, которая не существовала, отсюда и сообщение об ошибке. Даже если вы находитесь в каталоге скриптов среды, вы все равно получите сообщение, потому что это не файл .bat, к которому относится сообщение, а программа, которой делегируется файл .bat.

При указании файла conda.exe вы специально запрашиваете файл .exe, что означает, что файл .bat не будет найден и запущен, и, следовательно, найдена глобальная копия, которая, конечно же, работает.

Я исправил это, изменив путь внутри каждого из файлов .bat на правильный путь к инструменту, в соответствии с выводом, где x, что решило проблему.

0

У меня такая же проблема. Интересно, что когда я настраиваю новую среду, команды активации/деактивации работают нормально.

Я сравнил папку сценариев для этой среды со сломанной средой. В поврежденной среде файлы с активированными/деактивированными файлами были такими же, как и у вас, но рабочая среда этого не сделала.

Удаляя посторонние сценарии (деактивировать, conda, активировать,.pt-postlink), теперь нарушенная среда снова работает.

Я подозреваю, что что-то еще я испортил эту папку. Возможно виноват пакет, который я установил? Если я это выясню, я отправлю обратно.

  • 0
    Когда я conda установлен ipykernel получил тот же вопрос, выше решить ее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню