最近要跑项目的代码,发现好多依赖都没有安装,各种报错,所以借着这个机会整理一下这些问题,以备不时之需hhhh

1
2
3
4
anaconda search -t conda packagename #搜索包
anaconda show user/packagename #查看版本以及安装命令
#如果在anaconda的包管理里没有找到这个依赖的话可以用
pip install packagename

pydensecrf 图像分割库

  1. 环境
    python 3.6.6
  2. 错误信息
     eigen.cpp
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/VectorBlock.h(120): error C2373: “Eigen::DenseBase<Derived>::segment”: 重定义;不同的类型修饰符
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/DenseBase.h(291): note: 参见“Eigen::DenseBase<Derived>::segment”的声明
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/VectorBlock.h(121): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/VectorBlock.h(152): error C2373: “Eigen::DenseBase<Derived>::head”: 重定义;不同的类型修饰符
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/DenseBase.h(294): note: 参见“Eigen::DenseBase<Derived>::head”的声明
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/VectorBlock.h(153): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/VectorBlock.h(184): error C2373: “Eigen::DenseBase<Derived>::tail”: 重定义;不同的类型修饰符
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/DenseBase.h(297): note: 参见“Eigen::DenseBase<Derived>::tail”的声明
     c:\users\lenovo\appdata\local\temp\pip-install-s9mjy6at\pydensecrf\pydensecrf\densecrf\include\eigen\src/Core/VectorBlock.h(185): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
     error: command 'E:\\visualStudio\\VC\\Tools\\MSVC\\14.13.26128\\bin\\HostX64\\x64\\cl.exe' failed with exit status 2
    
  3. 解决方法
    其实网上的解决方法大致就是
     #将python版本从3.6切换为3.5
     pip install cython
     pip install pydensecrf
    
    但是这种方法我试过后并没有生效
    最后阴差阳错的用了
     conda install -c conda-forge pydensecrf
    
    就安装成功了