记一次Win. Anaconda Prompt Error

2021-02-20  本文已影响0人  Little大杰子

问题描述

Anaconda prompt Error,其他正常

开机后调Anaconda prompt , 显示" failed to create process. ",但jupyter/ spyder都可以正常运行

Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。
所在位置 D:\Program Files\anaconda3\shell\condabin\Conda.psm1:101 字符: 36
+         Invoke-Expression -Command $activateCommand;
+                                    ~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Invoke-Expression],ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.Invo
   keExpressionCommand

搜索原因

#!"D:\Program Files (x86)\anaconda3\python.exe" 

解决方案

Jupyter Lab快捷方式

我个人喜欢用Jupyter Lab工作,由于懒每次启服务都在Anaconda prompt中敲命令...实际上完全可以创建快捷方式,就像Jupyter Notebook一样
我的环境是win10

# 原来的:jupyter-notebook-script.py
# 替换为:jupyter-lab-script.py
# 最后一个参数默认工作路径为"%USERPROFILE%/",根据自己的情况修改,比如我的工作路径是D盘,就修改为"D:/"

管理环境

实际上这个Error对我的影响只有conda启不起来,没办法进行包和环境的管理,其他我需要用的功能都正常。所以我觉得没必要重装Anaconda3,不光是env的问题,JupyterLab的插件等都要重新配置。所以我只需要装个miniconda来实现环境管理就好了
miniconda装好后(不含空格的路径)启一个Anaconda prompt

conda env list # 可以找到之前的env
conda activate "D:\Program Files (x86)\anaconda3"  # 对应之前的base
conda create -n old_py27 --clone "D:\Program Files (x86)\anaconda3\envs\py27" # 复制之前的环境到miniconda中管理
conda activate base # 切换都任意环境
python -m ipykernel install --user --name=new_base # 配置给jupyter lab调用该环境

重装Anaconda3

更好的解决方案

到现在都没有检索到更好的解决方案来解决原来Anaconda prompt Error的问题,实际上报错已经很明显了,但就是不知道怎么修改Conda.psm1... 讲道理报错这行"Command"的内容就是调用"anaconda3\Scripts\conda.exe",而conda.exe运行的应该就是"python解释器路径 + py脚本"... 在"anaconda3\Scripts\conda-script.py"中添加带引号路径也没能解决。

结语

我这一天非常抓狂,检索解决方法的过程中发现很多人都抛出相似问题,但都没有结果,因此记录一下希望能帮助到别人。如果有大佬指点,那简直求之不得。

上一篇 下一篇

猜你喜欢

热点阅读