在弄到人的网页上,人们可以找到以下内容:
安装pkg(s) 此选项后面跟着一个或多个希望安装的软件包。每个包都是一个包名,而不是一个完全限定的文件名(例如,在Fedora Core系统中,glibc将是提供的参数,而不是glibc-2.4.8.i686.rpm),.也将检索指定用于安装的包(S)所需的所有包,并且installed. ... build-dep source_pkg 原因是要安装/删除包,以尝试满足源包的构建依赖关系。
听起来这两种方法都是为了满足依赖关系,但我在安装matplotlib中得到了不同的结果:apt-get intall没有在虚拟环境中使用后续的pip install matplotlib,而apt-get build-dep则使用*。
是的,我需要在*中安装matplotlib,但是pip无法解决一些依赖关系,所以我懒洋洋地使用apt来解决它
发布于 2013-07-26 13:43:59
区别在于在运行时是否需要依赖项,而不是在构建时。
例如,也许我正在构建一个使用openssl的二进制文件。在构建时,我需要libssl-dev中的openssl头文件。然后,我会将其作为一个Build-Depends列出。
但是,生成的二进制文件和包不需要头文件和其他开发文件,因此在安装时我不需要libssl-dev。那么,它就不会出现在Depends了。但是libssl (我的二进制链接所针对的运行时库)需要在Depends中。
您引用的man部分指出了这一点(它讨论了包的“满足构建依赖关系”),但如果事先不知道何时使用构建依赖项,这可能会让人感到困惑。
查看有关控制文件字段定义的Debian策略指南:
http://www.debian.org/doc/debian-policy/ch-controlfields.html
这是关于构建依赖的部分。注意,它位于“源包的依赖项”标题下:
http://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps
这个讨论的是视情况而定的。请注意它的“二进制包标题”下:
http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
https://askubuntu.com/questions/324845
复制相似问题