我对 python / Ubuntu 上的不同包管理器有点困惑。我最近从 Windows 迁移到 Ubuntu,在 Windows 中我使用 anaconda 作为我的 python 包管理器。
我已经在新的 Ubuntu 设置中安装了 anaconda。我想使用图形工具,因此我按照网页上的说明,使用 apt-get 安装了预编译的软件包,幸运的是(希望?)安装了所有依赖项。
该软件包似乎已安装在 Ubuntu 系统中(apt search graph-tool
指示其已安装),但它并未出现在 conda 软件包列表中(conda list
)。
我也尝试从以下位置下载此包anaconda 社区,但没有安装所有依赖项,安装失败:
$ conda install -c floriangeigl -c vgauthier -c msarahan -c bioconda -c ostrokach -c salford_systems -c ptorrestr -c pkgw -c kalefranz graph-tool
Traceback (most recent call last):
File "/home/eli/anaconda2/lib/python2.7/site-packages/conda/exceptions.py", line 479, in conda_exception_handler
return_value = func(*args, **kwargs)
File "/home/eli/anaconda2/lib/python2.7/site-packages/conda/cli/main.py", line 145, in _main
exit_code = args.func(args, p)
File "/home/eli/anaconda2/lib/python2.7/site-packages/conda/cli/main_install.py", line 80, in execute
install(args, parser, 'install')
File "/home/eli/anaconda2/lib/python2.7/site-packages/conda/cli/install.py", line 420, in install
raise CondaRuntimeError('RuntimeError: %s' % e)
CondaRuntimeError: Runtime error: RuntimeError: Runtime error: HTTPError: 404 Client Error: NOT FOUND for url: https://conda.anaconda.org/ostrokach/linux-64/libgcc-5-5.4.0-2.tar.bz2: https://conda.anaconda.org/ostrokach/linux-64/libgcc-5-5.4.0-2.tar.bz2
我的理解是 graph-tool 包安装在 Ubuntu 上,但未“暴露”给 conda(我是对的吗?)。如何将其暴露/添加到 conda(及其所有依赖项)?一般来说,通过 apt-get 和 conda 暴露的包之间有什么关系?我应该如何在 conda 中集成通过 apt-get 安装的包?
您能解释一下不同包管理器之间的关系吗(我应该使用 anaconda 吗)?
答案1
一般而言,conda 安装的软件包和 apt 安装的软件包之间应该几乎没有交互。至少我们的意图是这样的,尽管有很多方法可能会让你陷入麻烦。
除了刚刚浏览过网站,我对 graph-tool 并不熟悉。它有相当多的依赖项。我也在 anaconda.org 上查找过它,并找到了包含所有这些渠道的粗糙的 conda install 咒语——就是这个渠道给你带来了问题。(其中一个渠道是我的。)
一条建议是留意您在 上实际交互的内容PATH
。执行echo $PATH
将显示该环境变量的内容,目录及其顺序是关键。为了帮助您弄清楚什么被识别为可执行文件,请使用which -a
。例如,which -a python
。
由于存在所有这些依赖项,我并不惊讶您遇到问题。我的第二条建议是尝试使用 conda env。conda env 将有助于隔离所有依赖项。
尝试命令
conda create --name graphtool -c floriangeigl -c vgauthier -c msarahan -c bioconda -c ostrokach -c salford_systems -c ptorrestr -c pkgw -c kalefranz graph-tool
其中--name graphtool
创建了一个名为 graphtool 的新环境。然后运行
source activate graphtool
激活环境。从那里,您应该能够(在同一个终端会话中)执行您需要的任何 graph-tool 命令。
现在来看看您尝试命令时得到的堆栈跟踪conda install
......
看来 anaconda.org 和 ostrokach 频道上的 libgcc-5 包存在问题。堆栈跟踪表明 URL 出现 404 NOT FOUND 错误
https://conda.anaconda.org/ostrokach/linux-64/libgcc-5-5.4.0-2.tar.bz2
anaconda.org 指出存在于https://conda.anaconda.org/ostrokach/linux-64/repodata.json。如果此特定错误仍然存在,请提交问题(甚至可以引用此线程)https://github.com/Anaconda-Platform/support/issues。