Anaconda 中的依赖项和包冲突?
Posted
技术标签:
【中文标题】Anaconda 中的依赖项和包冲突?【英文标题】:Dependencies and packages conflicts in Anaconda? 【发布时间】:2018-08-28 16:15:15 【问题描述】:我在 Windows 10 机器上使用 Anaconda 5.1 和 Python 3.6。
我遇到了很多问题;我尝试在我的 conda 环境中添加一些有用的工具,例如 lightGBM、tensorflow、keras、bokeh...,但是一旦我使用过
conda install -c conda-forge packagename
在所有这些方面,我最终都会对不同的软件包进行降级和升级,这些软件包只会干扰我的安装,并且在这些安装之后我无法再使用任何东西。
我想知道是否有可能让多个版本的包和依赖项并存,而这不会杀死我的安装?
对不起,如果我的问题看起来很无聊,感谢您的帮助,
内特
【问题讨论】:
【参考方案1】:您可以尝试通过将 --no-update-dependencies
或 --no-update-deps
传递给 conda install
命令来禁用传递 deps 更新。前任:
conda install --no-update-deps pandas
。
【讨论】:
问题是不同的包有时需要不同的依赖,所以我不能不更新它们。他们似乎无法在同一个环境中都表现得很好,说实话,这让我发疯了。 +1 用tensorflow
和jupyter
解决了我的问题。出于某种原因,在 conda 环境中安装 tensorflow
后,我无法安装任何其他软件包 - 它会迫使我卸载它。这移动了不可移动的对象!【参考方案2】:
好吧,通过四处搜索,我能够启动并运行所有东西,而且它似乎不再冲突,我不得不卸载 Anaconda,重新启动计算机,然后在我的安装被破坏后重新安装它。
只要软件包和依赖项没有相互混淆,我就可以在常规(基本)环境中安装 lightgbm、folium 和 catboost 并使用它们。除了我链接的 catboost 之外,这些都是直接使用conda install -c conda-forge packagename
安装的。不要忘记检查可能会影响您的系统的 conda、python 和 pip (wheel) 的不同版本。
另外,安装了conda install nb_conda
以便能够立即在 Jupyter 笔记本中选择不同的环境。
我是从 this helpful post and a mix of the answers below 那里得到的。
然后,当我想安装 Tensorflow、Keras、theano 时,对我有用的是第二条评论 in this thread 中的说明,尽管你不应该忘记在你创建的激活的新环境中再次安装 jupyter。
之后,关闭所有内容,重新启动所有内容,然后在 Jupyter 的右上角,您应该能够选择不同的环境并从那里开始工作。
我希望这将帮助其他处于同样困境的人。
【讨论】:
"我不得不..." 抱歉,但这个答案缺乏支持该结论的证据。如此多的东西被改变了,而且以一种非系统的方式改变了,以至于人们无法确定究竟是什么产生了影响。nb_conda
包是一个顽固的神话(只需要nb_conda_kernels
),Jupyter 只需安装在一个位置(请参阅this answer)。我不鼓励用户遵循此处给出的建议。【参考方案3】:
我试图安装 pyrobuf 库,但它显示了很多冲突。对我有用的是
conda update --prefix /Users/<your_username>/opt/anaconda3 anaconda
【讨论】:
【参考方案4】:您可以尝试使用不同的 conda 环境。例如:
conda create -n myenv
然后您可以通过以下方式激活您的环境:
conda activate myenv
并通过以下方式停用:
conda deactivate
【讨论】:
以上是关于Anaconda 中的依赖项和包冲突?的主要内容,如果未能解决你的问题,请参考以下文章