python - Anaconda navigator 和 activate.bat 在 Windows 中出现空格问题

标签 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 更新,这让我怀疑它。

希望有人能帮忙

最佳答案

我在 https://github.com/conda/conda/issues/8510 找到了解决方案。临时文件夹中存在空格问题。解决方法是将 TEMP 和 TMP 环境变量更改为没有空格的位置,例如 c:\conda_tmp。此修复后工作正常。

关于python - Anaconda navigator 和 activate.bat 在 Windows 中出现空格问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55996021/

相关文章:

windows - EC2 Windows 实例作为开发机器,需要在用户不活动 X 段时间后自动关闭

java - cmd "Error: Could not find or load main class"错误

ruby - 我如何使用 Rails 4 在 rake 进程中运行 'cmd' 命令

java - 从 CMD 行运行时,JMeter 正在创建多个条目

Python Hotmail 登录

python - 使用 Flask 预加载 csv 文件

python - 如何在 ubuntu 上的 foreman 上更新 0.0.0.0 :5000 to show changes in app. py

python - 网页抓取 : Xpath list index out range

python - 如何在 Windows 中的 python 3 中正确地将焦点传递给消息框或从消息框传递焦点?

node.js - 无法使用 'winston' 和 's3-streamlogger' 在 aws S3 存储桶中创建日志