当在IPython控制台更新软件包时,Conda卡在“Proceed ([y]/n)?”上了吗?

65

我刚刚下载了Anaconda 4.2.0(带有Python 3.5.2版本)的Mac OS X版。每当我尝试更新任何软件包时,我的IPython控制台都会显示软件包依赖关系并显示“继续([y]/n)?”但是不接受任何输入。例如,我按Enter键、y-Enter等,什么也没有发生。这里是一个例子:

!conda create -n graphlab-env python=2.7 anaconda
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /Users/Abhijit/anaconda/envs/graphlab-env:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    python-2.7.12              |                1         9.5 MB
    _license-1.1               |           py27_1          80 KB
    alabaster-0.7.9            |           py27_0          11 KB
    anaconda-clean-1.0.0       |           py27_0           3 KB
.
.
.
    nbpresent-3.0.2            |           py27_0         463 KB
    anaconda-4.2.0             |      np111py27_0           6 KB
    ------------------------------------------------------------
                                           Total:       143.9 MB

The following NEW packages will be INSTALLED:

    _license:           1.1-py27_1         
    _nb_ext_conf:       0.3.0-py27_0       
    alabaster:          0.7.9-py27_0       
    anaconda:           4.2.0-np111py27_0  
    anaconda-clean:     1.0.0-py27_0       
.
.
.
    yaml:               0.1.6-0            
    zlib:               1.2.8-3            

Proceed ([y]/n)? 

在这一步之后它不会响应。当我输入'Ctrl-C'时,它会跳出循环。我尝试过Shift-Enter, Alt-Enter, Ctrl-Enter, Cmd-Enter等等,但没有成功。我已经因此而抓狂了。我是不是漏掉什么了?


你检查了你的互联网连接了吗?或者你正在尝试下载的软件包现在可能不可用。 - Md Sirajus Salayhin
网络连接良好。每次更新时都会出现“继续?”部分的问题。对于单个软件包更新,如果不显示“继续?”部分,即当它不需要任何输入时,它可以正常工作。我已经多次更新和重新安装了Anaconda,但这并没有解决问题。 - Aby
刚刚在全新安装的Anaconda中遇到了这个问题。而且,即使传递了“-y”,它在运行conda install jupyter时也会真正地挂起。 - MattR
5个回答

69
您可以在IPython中使用! 操作符来执行shell命令,但是在进程启动后无法与其交互。
因此,您可以选择:
1. 在ipython会话之外执行conda命令(也就是普通的shell); 2. 使用--yes 标志传递命令。例如: !conda create -n graphlab-env python=2.7 anaconda -y

41
在命令的末尾添加--yes
例如:
%conda install --yes seaborn

2
顺便提一下,对于pip用户,pip uninstall pipupgrade --yes也可以起到卸载pip的作用。 - Kermit

8

解决方案:

!conda update --update-all --yes

或简而言之:
!conda update --all -y

7
只需在任何命令后添加“-y”,即可回答所有的是/否问题。大多数软件包都被配置为与此方式兼容。 对于您:
!conda create -n graphlab-env python=2.7 anaconda -y

0

提示: 继续 ([y]/n)

在Anaconda cmd中按下 "y" (不加引号,只用小写的 y) 并敲击回车键。

这对我有效。


1
这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - rak007

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接