安装 Scipy,支持 Python 2 和 Python 3

5
我使用 sudo apt-get install python-scipy 命令来安装scipy。这将所有文件放在 /usr/lib/python2.7.dist-packages/scipy 目录下。我的最佳猜测是它选择了这个位置,因为python 2.7是默认版本。然而,我也想在python 3中使用scipy。这个软件包需要为python 3重新构建,还是可以直接指向现有版本?
我尝试使用pip安装两个并行版本,但我无法为系统安装依赖项libblas3
最好的方法是什么?
我使用Debian Jessie系统。

3
在基于Debian的发行版上安装Python3.x的Scipy:sudo apt-get install python3-scipy - M.T
你可以使用你选择的 Python 版本调用 pip,例如 sudo python -m pip install scipy。如果你想安装 Python 3 版本,则只需使用 python3。 - Paul Rooney
@M.T 我认为这是首选方案。几个其他的SO问题指出pip在与scipy一起使用时并不顺畅。(例如https://dev59.com/h2gu5IYBdhLWcg3wv5Ya)奇怪的是,在scipy安装页面上从未提到过这一点。如果您想将此列为答案,我会接受它。 - ericksonla
3个回答

14

在基于Debian的发行版上安装Python 3.x的Scipy:

sudo apt-get install python3-scipy

这对应于Python2.x的等效代码:

sudo apt-get install python-scipy

更加独立于平台的是,pip 是安装 Python 包的更标准的方式:

    pip install --user scipy #pip install using default python version
为了确保您使用正确的pip版本,您可以更加明确:
    pip2 install --user scipy  # install using python2
    pip3 install --user scipy  # install using python3

另外,我认为Anaconda或更轻量的Miniconda旨在使安装具有复杂依赖关系的Python包更加容易,同时它也允许使用环境来更轻松地拥有多个配置以及非兼容版本。但这将创建并使用不同于系统上的Python二进制文件。

然后,可以使用conda命令安装Scipy:

conda install scipy

如果要为特定版本安装scipy,您需要创建一个具有该python版本的环境:

conda create -n my_environment_name python=3 scipy

在conda环境中,可以同时使用pip和conda的Python包,但要确保使用的是通过conda安装的pip,以避免冲突。当为用户安装conda时,另一个好处是不需要在pip安装时加入--user标志。


3

如果你使用apt-get无法找到python3-scipy,你可以使用pip为python3安装它,只需要确保你使用pip3(如果你没有它,运行apt install python3-pip)。

pip3 install --user scipy

1
sudo pip is a recipe for future pain, use pip install --user - ev-br
谢谢!看了一下脚本安装说明,它说要使用pip install --user,糟糕! - Orange
谢谢,我在Windows命令提示符中以管理员身份登录后它起作用了。 - Nzui Manto

0
你可以尝试使用pip3 install scipy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接