Windows中空白的Anaconda导航器和activate.bat问题

时间:2019-05-05 20:15:16

标签: python windows cmd anaconda prompt

最近,我突然开始出现Anaconda提示问题,并使用VS Code启动jupyter实例。出现“访问被拒绝”错误,但是即使以管理员身份,我也遇到了一个错误,该错误将我引向我的路径中的空白问题。我从来没有遇到过这个问题,anaconda已经工作了一年多。

因此,我卸载了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并运行activate.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提示符对此进行了测试,并且在那里activate.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 :(得分:0)

答案 1 :(得分:0)

我在https://github.com/conda/conda/issues/8510找到了解决方案。临时文件夹中的空格存在问题。解决方法是将TEMP和TMP环境变量更改为没有c:\conda_tmp之类的空格的位置。此修复程序运行良好。