在通过pip安装软件包之前使用apt-get构建依赖项?

时间:2013-12-29 22:40:40

标签: python dependencies virtualenv pip

以此为例:

我正在尝试将matplotlib正确安装在位于我的主目录中的virtualenv中。我应该这样做:

sudo apt-get build-dep python-matplotlib

在激活我的virtualenv并执行此操作之前?

pip install matplotlib

我在某地读到,可能需要执行build-dep来安装pip使用的一些头文件来成功编译包。并且,如果对于matplotlib来说这是真的,那么它是否适用于所有其他包,例如ipython或numpy?

重要提示:我使用的是单独版本的Python(Python 3.3,源代码编译)用于virtualenv,而不是系统版本,在我的Ubuntu 12.04系统中是Python 2.7。

2 个答案:

答案 0 :(得分:1)

这取决于您用于编译Python版本的标志以及您尝试从matplotlib中获取的内容。你不太可能做一些与使用标准matplotlib时会破坏的默认值非常不同的东西。所以,你应该继续,只是

  

pip install matplotlib

没有打扰

  

sudo apt-get build-dep python-matplotlib

如果由于某种原因你需要为你的系统编译matplotlib(例如不同的架构),那么继续使用build-dep。

答案 1 :(得分:0)

在三台计算机上安装numpy和matplotlib之后,我发现SevakPrime的答案是不正确的。

恩里克的计划有效但不做numpy不起作用。 build-dep也是如此,python-numpy的字符串为public class GenericList<T> { public List<T> SerachFun(List<T> input, string search) { List<T> output = new System.Collections.Generic.List<T>(); foreach (var aa in input) { var columns = aa.GetType().GetProperties().ToList(); foreach (var bb in columns) { var cccc = bb.GetValue(aa); if(cccc!=null) { bool result = cccc.ToString().Contains(search); if (result) { output.Add(aa); continue; } } } } return output; } }

可能会出现以下情况: E:您必须在sources.list 中添加一些“来源”URI。 Gunnar Hjalmarsson here提供了解决方法。你会发现Software&amp; “系统设置”面板上的更新。