最近,我在安装SciPy时遇到了麻烦,特别是在我正在开发的Heroku应用程序上,我发现了Conda。

使用Conda可以创建环境,这与virtualenv的功能非常相似。我的问题是:

如果我使用Conda,它会取代对virtualenv的需求吗?如果不是,我如何将两者结合使用?我是在Conda中安装virtualenv,还是在virtualenv中安装Conda ? 我还需要使用pip吗?如果是这样,我还能在隔离的环境中安装带有pip的包吗?

我试图通过Anaconda为Python安装OpenCV,但我似乎无法解决这个问题。

我试着

conda install opencv
conda install cv2

我也试着搜索

conda search cv

没有雪茄。我无意中看到这个列出了opencv作为一个包含包:

http://docs.continuum.io/anaconda/pkgs.html

在运行conda info后,我注意到我的版本是3.4.1,但我似乎在网上找不到任何关于这个版本的信息。我对此很困惑。

我是不是遗漏了一些很明显的东西?如果opencv可用于Anaconda的以前版本,那么为什么它不能用于新版本呢?为什么这个链接只显示版本1.9.2的文档?

如何用另一个.yml文件更新预先存在的conda环境。当处理有多个需求文件(即基础文件)的项目时,这非常有用。yml,地方。yml、生产。yml等。

例如,下面是一个基底。Yml文件有conda-forge、conda和PIP包:

base.yml

name: myenv
channels:
  - conda-forge
dependencies:
  - django=1.10.5
  - pip:
    - django-crispy-forms==1.6.1

实际环境是通过以下方式创建的: Conda env创建base.yml。

稍后,需要将其他包添加到base.yml中。另一个文件,比如本地文件。Yml,需要导入这些更新。

之前的尝试包括:

创建本地用户。Yml文件导入定义:

channels:

dependencies:
  - pip:
    - boto3==1.4.4
imports:
  - requirements/base. 

然后执行如下命令: Conda install -f local.yml。

这行不通。任何想法吗?

我的电脑上已经安装了蟒蛇,我想更新一下。在Navigator中,我可以看到有几个单独的包可以更新,但也有一个anaconda包,有时有版本号,有时说自定义。我该怎么做?

我有一个名为old_name的conda环境,如何在不破坏引用的情况下将其名称更改为new_name ?

我安装了Anaconda(使用Python 2.7),并在一个名为Tensorflow的环境中安装了Tensorflow。我可以在这个环境中成功导入Tensorflow。

问题是Jupyter Notebook无法识别我刚刚创建的新环境。无论我是从GUI Navigator还是tensorflow env中的命令行启动Jupyter Notebook,菜单中只有一个名为Python [Root]的内核,并且不能导入tensorflow。当然,我多次点击这个选项,保存文件,重新打开,但这些都没有帮助。

奇怪的是,当我打开Jupyter首页上的Conda标签时,我可以看到这两个环境。但是当我打开文件选项卡,并尝试新建一个笔记本时,我仍然只有一个内核。

我看了这个问题: 连接Conda环境与Jupyter Notebook 但是在我的电脑上没有~/Library/Jupyter/kernels这样的目录!这个Jupyter目录只有一个称为runtime的子目录。

我真的很困惑。Conda环境应该自动成为内核吗?(我在https://ipython.readthedocs.io/en/stable/install/kernel_install.html上手动设置了内核,但被告知没有找到ipykernel。)

我想删除一个用conda创建的特定环境。我怎样才能做到呢?假设我有一个活动的testenv环境。通过以下文档,我尝试了:

$ conda env remove

CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again

然后我停用它:

$ source deactivate

我尝试再次运行命令删除它,我仍然得到相同的错误。这里出了什么问题?

我最近在我的Mac上安装了anaconda2。默认情况下,Conda被配置为当我打开一个新的终端会话时激活基本环境。

我想要访问Conda命令(即我想要Conda的路径添加到我的$ path, Conda在初始化时这样做,所以这很好)。

但是,我通常不使用python编程,并且我不希望Conda在默认情况下激活基本环境。

当第一次从提示符执行conda init时,conda将以下内容添加到我的.bash_profile中:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
    . "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
    export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<

如果我注释掉了整个块,那么我就不能激活任何Conda环境。

我试着把整个街区都注释掉,除了

export PATH="/Users/geoff/anaconda2/bin:$PATH"

但是当我开始一个新的会话并尝试激活一个环境时,我得到了这个错误消息:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

这个问题(以及其他类似的问题)很有帮助,但并不能最终回答我的问题,它更适合linux用户。

需要明确的是,我并不是要求从我的$PS1中删除(base),我是要求Conda在我打开终端会话时不激活base。

我知道pip是python包的包管理器。但是,我在IPython的网站上看到了使用conda安装IPython的安装。

我可以用pip安装IPython吗?当我已经有pip时,为什么我要使用conda作为另一个python包管理器?

pip和conda的区别是什么?