1

我在 Windows 10 上使用 conda 4.8.5,我有 Python 3.8.5。我的目标是根据该页面上精心布置的步骤从github成功安装 htm.core 。在更新 anaconda 和 python 数小时后,我希望这个安装能够顺利进行。实际结果是我卡在了python setup.py install.

我收到一个错误,我没有看到其他人在 github 和 stackoverflow 的帖子中挣扎(在下面)。我很困惑,因为我没有使用 Visual Studio,但是 setup.py 引用的 cpp 文件似乎存在某种问题。我查看了错误中的 tolower 函数,它确实需要 2 个参数。但是,我无权访问 LibrarySource.vcxproj 文件来检查它的调用位置。另外,如果它们是构建文件的幕后文件,我不确定为什么我需要访问这些文件中的任何一个。此外,我什至不确定这是否是真正的问题。但是,我无法理解子进程错误(我为此安装更新了 cmake)。预先感谢您的帮助。

DateEncoder.cpp
c:\users\l\htm.core\src\htm\encoders\dateencoder.cpp(121): error C2672: 'std::tolower': no matching overloaded function found [C:\Users\l\htm.core\build\scripts\src\LibrarySource.vcxproj]
c:\users\l\htm.core\src\htm\encoders\dateencoder.cpp(121): error C2780: '_Elem std::tolower(_Elem,const std::locale &)': expects 2 arguments - 1 provided [C:\Users\l\htm.core\build\scripts\src\LibrarySource.vcxproj]
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.16.27023\include\locale(274): note: see declaration of 'std::tolower'

Traceback (most recent call last):
File "setup.py", line 374, in
   getExtensionFiles(platform, build_type)
File "setup.py", line 239, in getExtensionFiles
   generateExtensions(platform, build_type)
File "setup.py", line 288, in generateExtensions
   subprocess.check_call(["cmake", "--build", ".", "--target", "install", "--config", build_type])
File "C:\Users\l\anaconda3\lib\subprocess.py", line 364, in check_call
   raise CalledProcessError(retcode, cmd)
   subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--target', 'install', '--config', 'Release']' returned non-zero exit status 1.

htm.core 文件夹存储在C:\Users\l,我的 Anaconda 存储在C:\Users\l\anaconda3.

4

1 回答 1

0

在 dkeeney 的帮助下,我在github页面上发现了我的问题的解决方案。似乎 htm.core 中的编程确实需要 Visual Studio,即使我没有直接使用它。我之前安装了 VS2017 BuildTools,它们是必需的(如果它们被完全删除或丢失,将会出现 buildtools 错误,它们是依赖项)!我还在 VS2017 BuildTools 旁边安装了社区版本 2019。如果没有,可以在此处的 stackoverflow 上找到它们。然而,为了解决这个问题,我不得不删除我当前安装的 htm.core,然后再次克隆它。我跑了python setup.py install,并且运行成功!我什至跑了测试,171 次通过,4 次跳过,这一切都在 88.64 秒内完成。我建议在下载 htm.core 并尝试安装之前正确安装您的 Python、最新的 anaconda(如果这是您的路线)、VS2017 构建工具和 VS2019 社区。我希望有一天有人会发现这很有用。

于 2020-09-29T20:49:12.663 回答