安装python-scitools和matplotlib依赖项

0 投票
2 回答
1088 浏览
提问于 2025-04-17 14:20

我正在尝试通过命令'sudo apt-get install python-scitools'来安装python-scitools。

The following extra packages will be installed:
python-matplotlib
Suggested packages:
python-excelerator python-matplotlib-doc python-traits python-wxgtk2.8octave
The following NEW packages will be installed:
python-matplotlib python-scitools
0 upgraded, 2 newly installed, 0 to remove and 203 not upgraded.
Need to get 0 B/2,596 kB of archives.
After this operation, 9,250 kB of additional disk space will be used.
Do you want to continue [Y/n]? 

问题是我已经手动安装了python-matplotlib(因为我需要最新版本1.2.0)。

如果我在ipython中输入'matplotlib.path',它会返回

['/usr/local/lib/python2.7/dist-packages/matplotlib']

我的问题是,我该如何告诉系统,matplotlib已经安装了呢?

正如你所猜的,我对这些东西还是个新手。

谢谢你

2 个回答

0

你有没有试过:

  sudo apt-get remove python-matplotlib

通过apt-get来卸载matplotlib?一旦你卸载了这个,你需要确保你的系统能够找到你手动安装的matplotlib,不过我猜你在安装的时候已经做过这一步了。

0

手动安装软件和通过包管理器安装软件这两种方式不太兼容。你可以在已有的包上进行开发,但反过来就不太容易了。

包管理器(比如 apt)会检查它内部数据库里的依赖关系,它认为 matplotlib 没有安装,这是正常的。这其实是个功能,而不是问题,因为这样可以让包管理系统快速判断依赖是否安装。你可以尝试自己制作一个 .deb 文件来安装,但这可能会有点麻烦,因为你需要了解 Debian 的构建系统。

你可以安装打包好的版本,然后确保你手动安装的版本在 PYTHONPATH 中的优先级高于系统版本。这样会占用一些硬盘空间,但也没关系。(你可以通过 setup.py install --prefix=/path/to/where/ever 来设置安装路径)。

PYTHONPATH 是一个环境变量,你可以用很多方法来设置它。

PYTHONPATH=/your/path:$PYTHONPATH ipython

这样设置的变量只对一个进程有效。你也可以把

PYTHONPATH=/your/path:$PYTHONPATH
export PYTHONPATH

添加到你的 .bashrc(或者 .bash_profile,我总是搞混这两个的作用),这样每次打开终端时都会运行。

如果这样还不行,你可能需要使用打包好的 matplotlib 版本(这可能需要先删除你当前的安装),或者手动安装所有依赖于 matplotlib 的软件。

撰写回答