我最近将我的 Ubuntu 更新到了 13.10 版本。令我惊讶的是,Ipython 和 Matplotlib 仅在我之前安装的 12.04 LTS 之前的版本中可用。
当使用 12.04 时,我已在我的存储库中设置了 Julian Taylor PPA,这就是为什么(我认为)我拥有这两个软件包的最新版本。
目前13.10中的版本有:
Matplotlib:1.2.1(http://matplotlib.org/index.html,最新版本是1.3.1)
Ipython:0.13.2(http://ipython.org,最新版本是 1.1.0 – 2013 年 9 月)
13.10 有可用的 PPA 吗?JTaylor ppa 仅涵盖到 12.10(Quantal,由于 stack exchange 中的声誉排名,链接不可用)
难道我要把这些软件包都安装在 apt 之外?那样不是很麻烦吗?
答案1
修复该问题的方法是使用 pip。
设置 pip 的方法如下:http://docs.python-guide.org/en/latest/starting/install/linux/#install-linux总结如下:
(我认为 python-distribute 在 13.10 中是预装的,但检查一下也没什么坏处)
sudo apt-get install python-distribute
然后我们正确设置python环境:
sudo easy_install pip
sudo pip install virtualenv
之后,执行以下操作:
sudo pip install ipython[all]
这将让 pip 处理 ipython 列出的依赖项。此时,IPython 已经正常工作。
可选,安装 matplotlib 和 numpy:
这些负责处理 matplotlib 和 numpy 的依赖关系(假设您已经正确安装了 LaTeX):
apt-get install libfreetype6-dev libpng-dev libpython-all-dev gcc gfortran dvipdf
部分参考:https://stackoverflow.com/questions/8359383/error-while-installing-matplotlib
我的目标是这样的:
============================================================================
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [1.3.1]
python: yes [2.7.5+ (default, Sep 19 2013, 13:49:51) [GCC
4.8.1]]
platform: yes [linux2]
REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [version 1.7.1]
dateutil: yes [using dateutil version 2.1]
tornado: yes [using tornado version 3.1.1]
pyparsing: yes [using pyparsing version 2.0.1]
pycxx: yes [Couldn't import. Using local copy.]
libagg: yes [pkg-config information for 'libagg' could not
be found. Using local copy.]
freetype: yes [version 16.1.10]
png: yes [version 1.2.49]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
toolkits: yes [installing]
tests: yes [using nose version 1.3.0]
OPTIONAL BACKEND EXTENSIONS
macosx: no [Mac OS-X only]
qt4agg: yes [installing, Qt: 4.8.4, PyQt4: 4.10.3]
gtk3agg: yes [installing, version 3.4.8]
gtk3cairo: yes [installing, version 3.4.8]
gtkagg: no [The C/C++ header for gtk (gtk/gtk.h) could not
be found. You may need to install the development
package.]
tkagg: no [The C/C++ header for Tk (tk.h) could not be
found. You may need to install the development
package.]
wxagg: no [requires wxPython]
gtk: no [The C/C++ header for gtk (gtk/gtk.h) could not
be found. You may need to install the development
package.]
agg: yes [installing]
cairo: yes [installing, version 1.8.8]
windowing: no [Microsoft Windows only]
OPTIONAL LATEX DEPENDENCIES
dvipng: yes [version 1.14]
ghostscript: yes [version 9.10]
latex: yes [version 3.1415926]
pdftops: yes [version 0.24.1]
所以,如果我错过了任何依赖项,请在下面评论;)
然后,使用 pip:
sudo pip install matplotlib[all]
编译成功。Ipython、numpy 和 matplotlib 已准备好在 Ubuntu 13.10 中进行科学研究。
答案2
读完后,你应该知道该ipython-notebook
包在universe
存储库中。此存储库由社区维护,在本例中由Debian。因此,如果您出于任何原因想要更新软件包,则应使用手动方法。顺便说一句,该软件包仅落后 2 个版本0.13.2 -> 1.0.0 -> 1.0.1
。广泛我不希望维护者逐一测试每个提交并检查可能出现的问题。
Matplotlib 也是如此,只落后了 2 个版本,但一些变化在每个版本之间,维护者有比带来前沿技术更好的事情要做,因为 Ubuntu 的卖点是稳定性高于一切。如果某件事意味着要进行多次测试(并且低优先级软件包需要更多测试),那么需要一段时间才能带来最新版本。在下一个版本中,情况可能会更幸运,因为 Debian 有 1.3.1sid/unstable 存储库中的版本。也许是下一个 Ubuntu 发布周期。
如何安装前沿技术?针对每个包提出一个新问题。