【问题标题】:Python Installation Compilation ErrorsPython 安装编译错误
【发布时间】:2017-08-03 02:34:03
【问题描述】:

我希望有人可以帮助我,因为我已经坚持了一段时间,而且我对编译包不是很熟悉。尝试安装以下软件包:https://github.com/jhkorhonen/MOODS/wiki/Installation

运行 Python 3.5 (Anaconda)、Windows 10 64 位、Microsoft Visual Studio 2017 社区版。这是我到目前为止所做的。

  • 错误 1:cded 到提取的包位置,然后运行 ​​python setup.py install --user,但得到的错误是:

    running install running build running build_py running build_ext building 'MOODS._tools' extension cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Icore/ -IC:\Users\Wolf\Anaconda3\include -IC:\Users\Wolf\Anaconda3\include /EHsc /Tpcore/tools_wrap.cxx /Fobuild\temp.win-amd64-3.5\Release\core/tools_wrap.obj -march=native -O3 -fPIC --std=c++11 error: command 'cl.exe' failed: No such file or directory

  • 解决方案 1:原来 C:\Program Files (x86)\Microsoft Visual Studio 14.0 没有它正在寻找的 \VC 文件夹,但我确实在 C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\bin 找到了它,所以我将它添加到 PATH

然后另一个错误:

  • 错误 2:C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\bin\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Icore/ -IC:\Users\Wolf\Anaconda3\include -IC:\Users\Wolf\Anaconda3\include /EHsc /Tpcore/tools_wrap.cxx /Fobuild\temp.win-amd64-3.5\Release\core/tools_wrap.obj -march=native -O3 -fPIC --std=c++11 cl : Command line warning D9002 : ignoring unknown option '-march=native' cl : Command line warning D9002 : ignoring unknown option '-O3' cl : Command line warning D9002 : ignoring unknown option '-fPIC' cl : Command line warning D9002 : ignoring unknown option '--std=c++11' tools_wrap.cxx c:\users\wolf\anaconda3\include\pyconfig.h(68): fatal error C1083: Cannot open include file: 'io.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\14.0\\VC\\bin\\cl.exe' failed with exit status 2
  • 解决方案2:所以我添加了一个环境变量INCLUDE并设置它 到C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt,其中有io.h

然而,又一个错误:

C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\bin\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Icore/ -IC:\Users\Wolf\Anaconda3\include -IC:\Users\Wolf\Anaconda3\include "-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt" /EHsc /Tpcore/tools_wrap.cxx /Fobuild\temp.win-amd64-3.5\Release\core/tools_wrap.obj -march=native -O3 -fPIC --std=c++11 cl : Command line warning D9002 : ignoring unknown option '-march=native' cl : Command line warning D9002 : ignoring unknown option '-O3' cl : Command line warning D9002 : ignoring unknown option '-fPIC' cl : Command line warning D9002 : ignoring unknown option '--std=c++11' tools_wrap.cxx C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt\corecrt.h(10): fatal error C1083: Cannot open include file: 'vcruntime.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\14.0\\VC\\bin\\cl.exe' failed with exit status 2

我不确定如何解决这个问题。似乎向PATH 添加东西并没有多大帮助。也许它与通用 CRT 的引入有关?我应该卸载 Visual Studio 2017 并使用旧版本吗?

【问题讨论】:

  • 关于 Python,我只知道一点点,但看起来您正试图将 GCC 命令行输入 Visual Studio。我会再次检查包裹的说明,因为出现严重问题。

标签: python c++ visual-studio installation visual-studio-2017


【解决方案1】:

你也可以独立下载安装window 10 sdk

使用此链接,希望它能解决问题。

第二次尝试使用 Visual Studio 命令 propmpt 例如 Vs2017 x64 Native Tools 命令提示符,然后尝试编译过程。

【讨论】:

    【解决方案2】:

    我在运行 Python 3.5 (Anaconda)、Windows 10 64 位、Microsoft Visual Studio 2017 专业版时遇到了非常相似的问题。

    您是否尝试在命令行上启用 64 位 Visual C++ 工具集? 为此,请先在命令行上运行vcvars64.bat。 就我而言,本地化是:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build
    

    这对我来说已经足够了,解决了我的问题。

    另外,我看到有些用户必须install "Windows Universal CRT SDK"(我已经有了)。检查您是否也拥有它:

    1. 运行 Visual Studio 安装程序。
    2. 选择修改按钮。
    3. 转到“单个组件”选项卡。
    4. 向下滚动到“编译器、构建工具和运行时”。
    5. 勾选“Windows 通用 CRT SDK”。
    6. 安装。

    PS:为方便起见,我建议使用 powershell。用于设置vcvars64.bat 示例的脚本来自here

    pushd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\"
    cmd /c "vcvars64.bat&set" |
    foreach {
      if ($_ -match "=") {
        $v = $_.split("="); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
      }
    }
    popd
    Write-Host "`nVisual Studio 2017 Command Prompt variables set." -ForegroundColor Yellow
    

    【讨论】:

    • 感谢您提供此脚本!为我工作!
    • 我得到 File "<ipython-input-12-17040a977d32>", line 1 cmd /c "vcvars64.bat&set" | ^ SyntaxError: invalid syntax 如果我在 Python 控制台中执行此代码是对的,对吧?
    • no :) 这不是 python 语言,它是 PowerShell 脚本。将此脚本保存为名为 scirpt_name.ps1 的文件并在 PowerShell 中运行它。要运行脚本,请打开 PowerShell 窗口,键入脚本名称(带或不带 .ps1 扩展名),后跟脚本参数(如果有),然后按 Enter。
    • 这解决了我在 Windows 10 上使用 pip 安装 cvxpy 的问题。它需要在完成安装之前构建一些东西,并且按照这些说明进行操作。
    • 我无法在 powershell 中使用 cmd 命令,并且在 get-command 结果中没有这样的命令。有人可以帮我吗? Google 搜索对我没有帮助。
    猜你喜欢
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2014-06-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多