Поэтому, если я загружаю среду 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.
Как он не может найти файл, который в текущем каталоге???? Я совершенно потерян, потому что это происходит.
В GitHub появилась следующая проблема, в которой говорится, что для выхода из среды требуется activate root
. Это тоже не работает, потому что activate
не может быть найдена точно так же, как и все другие функции, перечисленные выше.
Это только что случилось со мной. Вот что я узнал.
В папке скриптов моей среды было три скрипта:
activate.bat
conda.bat
deactivate.bat
наряду с еще тремя без расширения .bat, которые были скриптами bash. В каждом случае все, что они делали, - это делегат глобально установленной копии того же инструмента, используя абсолютный путь.
При получении команды, такой как "conda" в приглашении, Windows будет искать файл .com,.exe или .bat для выполнения, беря первый найденный файл. Поскольку активация среды добавляет ее местоположения в начало пути, окна первого экземпляра найдут файл .bat в среде, который будет выполнен.
В моем случае файлы .bat имели неправильный абсолютный путь и пытались делегировать глобальную копию, которая не существовала, отсюда и сообщение об ошибке. Даже если вы находитесь в каталоге скриптов среды, вы все равно получите сообщение, потому что это не файл .bat, к которому относится сообщение, а программа, которой делегируется файл .bat.
При указании файла conda.exe вы специально запрашиваете файл .exe, что означает, что файл .bat не будет найден и запущен, и, следовательно, найдена глобальная копия, которая, конечно же, работает.
Я исправил это, изменив путь внутри каждого из файлов .bat на правильный путь к инструменту, в соответствии с выводом, где x, что решило проблему.
У меня такая же проблема. Интересно, что когда я настраиваю новую среду, команды активации/деактивации работают нормально.
Я сравнил папку сценариев для этой среды со сломанной средой. В поврежденной среде файлы с активированными/деактивированными файлами были такими же, как и у вас, но рабочая среда этого не сделала.
Удаляя посторонние сценарии (деактивировать, conda, активировать,.pt-postlink), теперь нарушенная среда снова работает.
Я подозреваю, что что-то еще я испортил эту папку. Возможно виноват пакет, который я установил? Если я это выясню, я отправлю обратно.
conda
установленipykernel
получил тот же вопрос, выше решить ее.