安装 fortran 编译器和 scikits.bvp_solver 包的问题

问题描述 投票:0回答:1

使用 scikits.bvp_solver 包需要 easy_install 和 fortran 编译器。由于他们推荐使用 gfortran,所以我按照说明进行操作(https://masuday.github.io/fortran_tutorial/install_gfortran_windows.html)。我必须安装 Msys2 (https://masuday.github.io/fortran_tutorial/install_gfortran_windows.html)。然而,这仍然会带来问题。

我遇到了几个问题:

(1) 安装 MSYS2 后,使用 MSYS2 MINGW64 窗口我通过以下方式安装了 gfortran:

pacman -Su gcc-fortran

但是,这导致了以下错误:

error: target not found: gcc-fortran

然后,检查 gfortran 是否实际安装。我使用了命令 gfortran,但这导致了

gfortran.exe: fatal error: no input files
compilation terminated.

(2) 我想验证现在是否可以下载 scikits.bvp_solver,因此在 python 控制台中运行

!easyinstall scikits.bvp_solver

结果如下:

'easyinstall' is not recognized as an internal or external command, 
operable program or batch file.

(3) 我尝试使用 pip install 代替,所以我运行

pip install scikits.bvp_solver

这会导致几个问题:

Defaulting to user installation because normal site-packages is not writeable
Collecting scikits.bvp_solver
  Using cached scikits.bvp_solver-1.1.tar.gz (136 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Building wheels for collected packages: scikits.bvp_solver
  Building wheel for scikits.bvp_solver (setup.py): started
  Building wheel for scikits.bvp_solver (setup.py): finished with status 'error'
  Running setup.py clean for scikits.bvp_solver
Failed to build scikits.bvp_solver
Note: you may need to restart the kernel to use updated packages.
  error: subprocess-exited-with-error
  
  python setup.py bdist_wheel did not run successfully.
  exit code: 1
  
  [76 lines of output]
  C:\Users\luhiel\AppData\Roaming\Python\Python39\site-packages\setuptools\dist.py:674: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated.
  !!
  
          ********************************************************************************
          Please replace its usage with implicit namespaces (PEP 420).
  
          See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details.
          ********************************************************************************
  
  !!
    ep.load()(self, ep.name, value)
  running bdist_wheel
  running build
  running config_cc
  unifing config_cc, config, build_clib, build_ext, build commands --compiler options
  running config_fc
  unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
  running build_src
  build_src
  building extension "scikits.bvp_solver.bvp_solverf" sources
  f2py options: []
    adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\scikits\bvp_solver\lib\fortranobject.c' to sources.
    adding 'build\src.win-amd64-3.9\build\src.win-amd64-3.9\scikits\bvp_solver\lib' to include_dirs.
    adding 'build\src.win-amd64-3.9\scikits\bvp_solver\lib\bvp_solverf-f2pywrappers2.f90' to sources.
  building data_files sources
  build_src: building npy-pkg config files
  C:\Users\luhiel\AppData\Roaming\Python\Python39\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
  !!
  
          ********************************************************************************
          Please avoid running ``setup.py`` directly.
          Instead, use pypa/build, pypa/installer or other
          standards-based tools.
  
          See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
          ********************************************************************************
  
  !!
    self.initialize_options()
  running build_py
  creating build\lib.win-amd64-cpython-39
  creating build\lib.win-amd64-cpython-39\scikits
  copying scikits\__init__.py -> build\lib.win-amd64-cpython-39\scikits
  creating build\lib.win-amd64-cpython-39\scikits\bvp_solver
  copying scikits\bvp_solver\ProblemDefinition.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver
  copying scikits\bvp_solver\Solution.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver
  copying scikits\bvp_solver\solver.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver
  copying scikits\bvp_solver\template_generator.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver
  copying scikits\bvp_solver\tools.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver
  copying scikits\bvp_solver\__init__.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver
  creating build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests
  copying scikits\bvp_solver\tests\test_get_template.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests
  copying scikits\bvp_solver\tests\test_ProblemDefinition.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests
  copying scikits\bvp_solver\tests\test_Solution.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests
  copying scikits\bvp_solver\tests\test_solver.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests
  copying scikits\bvp_solver\tests\test_tools.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests
  copying scikits\bvp_solver\tests\__init__.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests
  creating build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\example2data.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\example3data.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\example5data.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\testing.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\test_Example2.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\test_Example3.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\test_Example4.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\test_Example5.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\test_TemplateExample.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\test_TutorialExample.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  copying scikits\bvp_solver\tests\test_examples\__init__.py -> build\lib.win-amd64-cpython-39\scikits\bvp_solver\tests\test_examples
  running build_ext
  No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
  customize MSVCCompiler
  customize MSVCCompiler using build_ext
  CCompilerOpt.cc_test_flags[1013] : testing flags (/O2)
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  CCompilerOpt.cache_flush[809] : write cache to path -> C:\Users\luhiel\AppData\Local\Temp\pip-install-nbe366ya\scikits-bvp-solver_7798e54232c544b3bb2e9ff839ec56cd\build\temp.win-amd64-cpython-39\Release\ccompiler_opt_cache_ext.py
  [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for scikits.bvp_solver
ERROR: Could not build wheels for scikits.bvp_solver, which is required to install pyproject.toml-based projects

我不知道该怎么办。我不是专业的软件开发人员,也没有足够的经验来自己解决这个问题。感谢任何可以提供一些想法的人。

python installation gfortran easy-install scikits
1个回答
0
投票
MSYS2 MINGW64 的

gfortran 软件包是

mingw-w64-x86_64-gcc-fortran

安装:

pacman -S mingw-w64-x86_64-gcc-fortran

如果你想从 CMD 或 python 控制台调用它,在文件夹下需要添加到环境变量 PATH:

[msys2_install_folder]\mingw64\bin

© www.soinside.com 2019 - 2024. All rights reserved.