杰瑞科技汇

Python pip安装scipy时遇到问题?

确保已安装 Python 和 pip

在安装 scipy 之前,请确保您的系统上已经安装了 Python pip 命令可用。

Python pip安装scipy时遇到问题?-图1
(图片来源网络,侵删)
  • 如何检查 Python 是否安装? 打开您的终端(在 Windows 上是命令提示符或 PowerShell,在 macOS 或 Linux 上是 Terminal),然后输入:

    python --version

    或者(如果您有多个 Python 版本,推荐使用 python3):

    python3 --version

    如果显示了 Python 的版本号(Python 3.10.8),说明 Python 已安装。

  • 如何检查 pip 是否安装? 在同一个终端中输入:

    Python pip安装scipy时遇到问题?-图2
    (图片来源网络,侵删)
    pip --version

    或者:

    pip3 --version

    如果显示了 pip 的版本和路径,说明 pip 已安装。

注意:在 Windows 上,您可能需要使用 py -m pip --version 来确保使用的是正确的 pip。


安装 Scipy

使用 pip 命令(推荐)

这是最直接的方法,打开您的终端,然后运行以下命令:

Python pip安装scipy时遇到问题?-图3
(图片来源网络,侵删)
pip install scipy

或者,如果您明确想为 Python 3 安装:

pip3 install scipy

安装过程:

  • pip 会自动从 Python Package Index (PyPI) 下载 scipy 包及其所有依赖项(如 numpy, matplotlib 等)。
  • 您会看到下载进度条和编译过程的输出。scipy 包含一些需要用 C 或 Fortran 编译的代码,所以这一步可能需要几分钟时间,具体取决于您的电脑性能。

使用 Python -m pip(更安全)

在某些系统环境下(特别是 Linux 和 macOS),直接调用 pip 可能会指向系统自带的旧版本 Python,而不是您自己安装的 Python,为了避免这个问题,推荐使用 python -m pip 的方式。

# 使用 python3 (推荐)
python3 -m pip install scipy
# 或者使用 python
python -m pip install scipy

这种方式会确保您使用的是当前 Python 环境关联的 pip。


验证安装

安装完成后,您可以通过在 Python 交互式环境中导入 scipy 来验证安装是否成功。

打开终端,输入 pythonpython3 进入交互式环境:

python

尝试导入 scipy 并检查其版本:

>>> import scipy
>>> scipy.__version__
'1.11.2'  # 您看到的版本号可能与此不同

如果上述命令没有报错,并成功输出了版本号,恭喜您,scipy 已经成功安装!

您也可以尝试导入其一个常用子模块,scipy.linalg

>>> from scipy import linalg
>>> linalg.inv([[1, 2], [3, 4]]) # 计算一个矩阵的逆
array([[-2. ,  1. ],
       [ 1.5, -0.5]])

如果一切正常,说明安装和配置都成功了。


常见问题及解决方案

问题 1:pip 不是内部或外部命令,也不是可运行的程序或批处理文件。

  • 原因:Windows 系统无法找到 pip.exe 文件,这可能是因为 Python 的安装路径没有被添加到系统的环境变量 PATH 中。
  • 解决方案
    1. 找到 Python 的安装目录(C:\Users\YourUser\AppData\Local\Programs\Python\Python310\)。
    2. 将该目录下的 Scripts 文件夹(C:\Users\YourUser\AppData\Local\Programs\Python\Python310\Scripts\)添加到系统的 PATH 环境变量中。
    3. 重启终端,然后再次尝试安装。

问题 2:出现 ERROR: Could not build wheels for scipyMicrosoft Visual C++ 14.0 or greater is required 错误。

  • 原因scipy 是一个包含大量 C 和 Fortran 代码的包,在安装时需要编译,在 Windows 上,这需要一个 C++ 编译器(如 Microsoft Visual C++ Build Tools)。
  • 解决方案
    1. 最简单的解决方案:安装一个预编译好的 scipy wheel 文件。pip 通常会自动处理,但如果失败,可以手动指定,访问 Gohlke's Unofficial Windows Binaries for Python Extension Packages 网站,找到对应您 Python 版本和系统架构(32/64位)的 scipy wheel 文件(文件名类似 scipy‑1.11.2‑cp310‑cp310‑win_amd64.whl),下载后用 pip 本地安装:
      pip install C:\path\to\your\downloaded\scipy‑1.11.2‑cp310‑cp310‑win_amd64.whl
    2. 安装编译工具:如果您想从源码编译,需要安装 Microsoft C++ Build Tools,在安装程序中,选择 "Desktop development with C++" 工作负载。

问题 3:在 Linux 上安装失败,提示缺少 gfortran 或其他开发库。

  • 原因:与 Windows 类似,Linux 也需要编译工具。scipy 依赖 Fortran 编译器 gfortran 和一些其他开发库(如 blaslapack)。
  • 解决方案
    • 在 Debian/Ubuntu 上
      sudo apt-get update
      sudo apt-get install python3-pip python3-dev build-essential gfortran libblas-dev liblapack-dev
    • 在 CentOS/RHEL/Fedora 上
      sudo yum install python3-pip python3-devel gcc-c++ gcc-gfortran blas-devel lapack-devel

      安装完这些依赖后,再重新运行 pip install scipy 即可。


最佳实践:使用虚拟环境

为了避免不同项目之间的 Python 包版本冲突,强烈建议您使用虚拟环境。venv 是 Python 自带的虚拟环境工具。

  1. 创建虚拟环境: 在您的项目文件夹下,运行:

    # 创建一个名为 venv 的虚拟环境
    python3 -m venv venv
  2. 激活虚拟环境

    • 在 Windows 上
      venv\Scripts\activate
    • 在 macOS 或 Linux 上
      source venv/bin/activate

      激活后,您的终端提示符前会出现 (venv) 字样。

  3. 在虚拟环境中安装 scipy: 在这个激活的虚拟环境中,pip 会只作用于这个环境,安装命令和之前一样:

    pip install scipy
  4. 退出虚拟环境: 当您完成工作后,可以随时退出虚拟环境:

    deactivate

这样,scipy 及其依赖只会被安装在这个虚拟环境中,不会影响您系统上其他 Python 项目的环境。

分享:
扫描分享到社交APP
上一篇
下一篇