• lap是使用Jonker-Volgenant算法求解稠密(LAPJV)或稀疏(LAPMOD)矩阵的线性分配问题求解器
  • 为了使用模块lap,结果pip install lap安装失败,命令行提示如下:
ERROR: Command errored out with exit status 1:
     command: 'D:\Anaconda3\envs\tensorflow\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\MSI\\AppData\\Local\\Temp\\pip-req-build-9w1k0u2r\\setup.py'"'"'; __file__='"'"'C:\\Users\\MSI\\AppData\\Local\\Temp\\pip-req-build-9w1k0u2r\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\MSI\AppData\Local\Temp\pip-record-xqcdmil9\install-record.txt' --single-version-externally-managed --compile --install-headers 'D:\Anaconda3\envs\tensorflow\Include\lap'
         cwd: C:\Users\MSI\AppData\Local\Temp\pip-req-build-9w1k0u2r\
    Complete output (30 lines):
    Partial import of lap during the build process.
    Generating cython files
    running install
    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 "lap._lapjv" sources
    building data_files sources
    build_src: building npy-pkg config files
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\lap
    copying lap\lapmod.py -> build\lib.win-amd64-3.7\lap
    copying lap\__init__.py -> build\lib.win-amd64-3.7\lap
    running build_ext
    No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
    customize MSVCCompiler
    customize MSVCCompiler using build_ext
    No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
    customize MSVCCompiler
    Missing compiler_cxx fix for MSVCCompiler
    customize MSVCCompiler using build_ext
    building 'lap._lapjv' extension
    compiling C sources
    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/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'D:\Anaconda3\envs\tensorflow\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\MSI\\AppData\\Local\\Temp\\pip-req-build-9w1k0u2r\\setup.py'"'"'; __file__='"'"'C:\\Users\\MSI\\AppData\\Local\\Temp\\pip-req-build-9w1k0u2r\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\MSI\AppData\Local\Temp\pip-record-xqcdmil9\install-record.txt' --single-version-externally-managed --compile --install-headers 'D:\Anaconda3\envs\tensorflow\Include\lap' Check the logs for full command output.

一开始在lap的github官网上看见说需要有c的编译器:lap的官方链接

Install from source
Install a C++ compiler (e.g., g++)

Python headers (e.g., python-dev package on Debian/Ubuntu)

Install Cython (>=0.21)

考虑到电脑上并没有安装有关C编译的软件,看了下面的解决方案之后:

https://stackoverflow.com/questions/66838238/cython-setup-py-cant-find-installed-visual-c-build-tools/68553226#68553226

  • 首先在命令行中查看自己的MSVC version
python -c "import sys; print(sys.version)"

我的是1916的版本

D:\Program Files (x86)\Microsoft Visual Studio\2017\Community>python -c "import sys; print(sys.version)"
3.7.11 (default, Jul 27 2021, 09:42:29) [MSC v.1916 64 bit (AMD64)]

对应的Visual Studio版本是2017,可以在下面的网址自行查看:

https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B

重点来了!!!
在安装Visual Studio一开始要选择工作负载!我一开始直接默认,导致我又失败了!
后面看了这篇博客Microsoft visual C++ build tools安装包丢失
我已经安装好了,所以需要重新从这里进去工作负载选择:
在这里插入图片描述

注意!!勾选只用C++的桌面开发!旁边的可选保持默认就可以了!

在这里插入图片描述

  • 重新回到命令行pip安装,安装成功!
    在这里插入图片描述
    看完之后如果解决问题啦!记得评论点个赞!
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐