Keras打破Anaconda提示

Aha*_*hab 7 python anaconda keras

我在Anaconda发行版上从tensorflow切换到了keras,后者遇到了一些问题。我通过Anaconda提示符使用命令安装

conda install keras
Run Code Online (Sandbox Code Playgroud)

我不认为安装正确完成,因为它运行命令

python -c "import keras"  1>nul 2>&1
Run Code Online (Sandbox Code Playgroud)

并关闭提示。此后,如果我要打开命令行,它将自动运行上面的命令并关闭它,因此我无法使用提示。Anaconda 5.3.1(Python 3.7)和Anaconda 5.2.0(Python 3.6)都发生了这种情况。

提前非常感谢您。任何帮助都感激不尽。

小智 7

我尝试了几乎所有解决此问题的方法(从 activate.d 中擦除“nul”似乎一开始都有效,但随后与包相关的 conda 命令仍然使提示崩溃)。所以这就是我所做的。问题似乎源于 conda 安装 keras 的方式。

1)使用 pip卸载 keras 。使用 Anaconda 安装文件夹中的 Scripts 文件夹。

2) 从 Keras 中手动删除所有剩余的文件夹。其中大部分位于 Anaconda 安装文件夹中。不要忘记删除keras_activate.batkeras_deactive.bat文件夹中的activate.ddeactivate.d文件。

3)使用pip安装keras。

4)这就解决了activate.d问题。但是,Anaconda Prompt 仍然崩溃,因为文件%UserProfile%Anaconda3/etc/conda夹中存在另一个名为vs2015_compiler_vars.bat. 删除该文件,一切都会正常运行(使用 Keras 时出现的奇怪错误消息也会消失)。

PS 我做了一个额外的步骤来使 Anaconda Prompt 完美运行,但我不知道它是否与安装 Keras 相关(这就是我没有将它包含在答案中的原因)。由于 conda 命令卡在“求解环境”中,我使用conda config --set channel_priority strict. 现在 Anaconda 已经完全正常运行了!


Vis*_*tav 5

我将GAURAV和GYAN ARORA的答案结合在一起后得出了答案。解决方法是这样的:

1)转到%UserProfile%Anaconda3/etc/conda/activate.d并右键单击keras_activate.bat 2)单击编辑。.bat文件如下所示:

:: Figure out the default Keras backend by reading the config file.
python %CONDA_PREFIX%\etc\keras\load_config.py > temp.txt
set /p KERAS_BACKEND=<temp.txt
del temp.txt

:: Try to use the default Keras backend.
:: Fallback to Theano if it fails (Theano always works).
python -c "import keras" 1>nul 2>&1
if errorlevel 1 (
    ver > nul
    set "KERAS_BACKEND=theano"
    python -c "import keras" 1>nul 2>&1
)
Run Code Online (Sandbox Code Playgroud)

将两者都更改1>nul1>。最终文件应如下所示:

:: Figure out the default Keras backend by reading the config file.
python %CONDA_PREFIX%\etc\keras\load_config.py > temp.txt
set /p KERAS_BACKEND=<temp.txt
del temp.txt

:: Try to use the default Keras backend.
:: Fallback to Theano if it fails (Theano always works).
python -c "import keras" 1> 2>&1
if errorlevel 1 (
    ver > nul
    set "KERAS_BACKEND=theano"
    python -c "import keras" 1> 2>&1
)
Run Code Online (Sandbox Code Playgroud)

3)保存并关闭

  • 实际上,最好完全删除 `1&gt; nul`。上面建议的结果批处理代码,`1&gt; 2&gt;&amp;1`,不是有效的语法,将导致错误消息“2&gt;&amp;1 此时意外。`原始批处理代码试图做的是抑制所有输出命令(即,通过将 stdout 重定向到 `nul` 并将 stderr 重定向到 stdout),但出于某种原因,Anaconda Prompt 不喜欢/不支持 `nul`,因此它抛出了一个错误并退出。但只是删除了` nul`,您正在创建不正确的批处理代码。 (2认同)

小智 1

我遇到了同样的问题,我花了两天时间才终于让一切正常运行,并重新安装了很多次。此消息来自以下文件。%UserProfile%Anaconda3/etc/conda/activate.d/keras_activate.bat. 该文件中编写的代码存在一些问题,每次都会关闭 Anaconda 提示符。我不知道如何解决它,也许其他人可以建议一些东西,但仍然在提示窗口上执行一些基本任务的一种方法是 -> 右键单击​​上述文件并选择编辑 -> 在文件顶部。(它将执行然后关闭。)