Anaconda навигатор и activ.bat проблемы с пробелами в Windows - PullRequest
0 голосов
/ 05 мая 2019

Совсем недавно у меня внезапно возникли проблемы с приглашением Anaconda и запуском экземпляров jupyter с VS Code. Существует ошибка «Отказано в доступе», но даже как администратор я получаю сообщение об ошибке, указывающее на проблему с пробелами на моем пути. У меня никогда не было этой проблемы, и анаконда работала уже более года.

Итак, я удалил Anaconda и переустановил ее полностью. Тем не менее ошибка сохраняется при запуске из меню «Пуск».

Access is denied.
The system cannot find the file C:\Users\Ananth.
Could Not Find C:\Users\Ananth Mahadevan\AppData\Local\Temp\conda-16154.tmp

C:\Users\Ananth Mahadevan>

Поэтому, когда я запускаю cmd.exe в режиме администратора, перехожу к Anaconda3 \ Scripts и запускаю activ.bat, я все равно получаю это

C:\ProgramData\Anaconda3\Scripts>activate.bat
Not a conda environment: C:\ProgramData\Anaconda3\Scripts\Mahadevan\AppData\Local\Temp\conda-22297.tmp

Тогда я попытался специально активировать базу и получил эту ошибку

C:\ProgramData\Anaconda3\Scripts>conda activate base
activate does not accept more than one argument:
['base', 'Mahadevan\\AppData\\Local\\Temp\\conda-1957.tmp']

Эта ошибка привела меня к https://github.com/conda/conda/issues/6704,, но это похоже на старую проблему и выглядит закрытой. Я проверил это, запустив приглашение PowerShell Anaconda, и там activ.bat работает нормально.

Проблема, похоже, связана с Scripts\activate.bat, который вызывает condabin\conda.bat по очереди condabin\_conda_activate.bat, где я вижу код, который создает уникальный временный путь и пытается найти его

@REM This method will not work if %TMP% contains any spaces.
:tmpName
@SET UNIQUE=%TMP%\conda-%RANDOM%.tmp
@IF EXIST "%UNIQUE%" goto :tmpName
@"%CONDA_EXE%" %_CE_M% %_CE_CONDA% shell.cmd.exe %* 1>%UNIQUE%

В нем четко сказано, что это не сработает, если у temp есть пробелы. Я думаю, что нашел проблему, но не решение. Это также странно, поскольку Anaconda работала на отлично, и последнее, что я помню, это новые обновления Windows, что заставило меня заподозрить это.

Надеюсь, кто-то может помочь

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Я нашел решение на https://github.com/conda/conda/issues/8510. Существует проблема с пробелами во временных папках.Исправление состояло в том, чтобы изменить переменные среды TEMP и TMP на место без пробелов, таких как c:\conda_tmp.После исправления все работает нормально.

0 голосов
/ 05 мая 2019

По данным Anaconda, Inc. | «ОШИБКА: невозможно установить в directo ... , эта проблема была исправлена ​​в версии 5.0.1 установщика Anaconda.

Аналогичная проблема - Установка с пробелами // Запрос Anaconda перестает отвечать после обновления conda. · Проблема № 6704 · conda / conda и связанная Проблема с пробелами в путях в окнах · Проблема № 58 · ContinuumIO / menuinst - утверждается, что она исправлена ​​в 5.1.

...