在apt-get 手册页上,可以找到以下内容:
install pkg(s)
此选项后跟一个或多个需要安装的软件包。每个包都是一个包名,而不是完全限定的文件名(例如,在 Fedora Core 系统中,glibc 将是提供的参数,而不是 glibc-2.4.8.i686.rpm)。
指定用于安装的包所需的所有包也将被检索和安装。
[...]build-dep source_pkg
导致 apt-get 安装/删除包,以 尝试满足源包的构建依赖项。
听起来这两个都在试图满足依赖关系,但是在安装matplotlib它们时我得到了不同的结果:在我的 virtualenv 中apt-get intall没有与我的后续工作一起工作pip install matplotlib,而apt-get build-depdid*.
*是的,我需要matplotlib在venv中安装,但是pip无法解决一些依赖,所以我懒惰地使用apt来解决它
Mit*_*tch 48
简短的版本。
apt-get install
Run Code Online (Sandbox Code Playgroud)
安装新包,自动解析和下载依赖包。如果安装了软件包,请尝试升级到最新版本。
apt-get build-dep
Run Code Online (Sandbox Code Playgroud)
导致 apt-get 安装/删除包以尝试满足源包的构建依赖项。
该命令的sudo apt-get build-dep packagename意思是安装“packagename”的所有依赖项,以便我可以构建它”。所以 build-dep 是一个 apt-get 命令,就像 install、remove、update 等一样。
该build-dep命令在系统中搜索本地存储库并安装 package.json 的构建依赖项。如果本地存储库中不存在该包,它将返回错误代码。
要安装 matplotlib,请参阅在 Ubuntu 上安装 matplotlib
来源:手册页和 Ravi Saive
roa*_*dmr 25
区别在于运行时是否需要依赖项,而不是在构建时。
例如,也许我正在构建一个使用 openssl 的二进制文件。在构建时,我需要 openssl 头文件,它们在libssl-dev. 然后我会将其列为Build-Depends.
但是,生成的二进制文件和包不需要头文件和其他开发文件,因此在安装时我不需要libssl-dev. 那么它不会在Depends。但是libssl,我的二进制文件链接的运行时库需要在Depends.
您引用的 man 部分表明了这一点(它谈到“满足包的构建依赖项”),但是如果事先不知道何时使用 Build-Depends,这可能会令人困惑。
查看 Debian 政策指南,了解控制文件字段的定义:
http://www.debian.org/doc/debian-policy/ch-controlfields.html
这是关于 Build-Depends 的部分。请注意,它位于“源包的依赖项”标题下:
http://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps
这个是关于 Depends 的。注意它的'在二进制包标题下:
http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
| 归档时间: |
|
| 查看次数: |
79491 次 |
| 最近记录: |