You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3安装Caseman的noise包遇pip编译错误,求解决方案

2D流体模拟初始状态优化与noise库安装失败问题

背景与需求

我正在用Python编写一个简易2D流体模拟程序,最初通过random模块生成随机浮点数填充二维数组,再做模糊处理来创建模拟初始状态。但这个方法速度太慢,每次生成新随机网格要等10秒,而且方形模糊的形状导致生成的噪声纹理呈块状。想换成Caseman的noise库优化,结果折腾了5小时还是无法解决安装问题。

安装noise库时的编译链接错误

执行pip install noise命令时,持续出现如下错误:

Defaulting to user installation because normal site-packages is not writeable
Collecting noise
  Using cached noise-1.2.2.zip (132 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: noise
  Building wheel for noise (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [31 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win32-cpython-312
      creating build\lib.win32-cpython-312\noise
      copying perlin.py -> build\lib.win32-cpython-312\noise
      copying shader.py -> build\lib.win32-cpython-312\noise
      copying shader_noise.py -> build\lib.win32-cpython-312\noise
      copying test.py -> build\lib.win32-cpython-312\noise
      copying __init__.py -> build\lib.win32-cpython-312\noise
      running build_ext
      building 'noise._simplex' extension
      creating build\temp.win32-cpython-312
      creating build\temp.win32-cpython-312\Release
      "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x86\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD "-IC:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\include" "-IC:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\Include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tc_simplex.c /Fobuild\temp.win32-cpython-312\Release\_simplex.obj
      _simplex.c
      _simplex.c(235): warning C4244: 'return': conversion from 'double' to 'float', possible loss of data
      _simplex.c(296): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
      _simplex.c(297): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
      _simplex.c(308): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
      _simplex.c(309): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
      "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x86\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\libs" "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0" "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\PCbuild\win32" "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.22000.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22000.0\\um\x86" "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.22000.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22000.0\\um\x86" /EXPORT:PyInit__simplex build\temp.win32-cpython-312\Release\_simplex.obj /OUT:build\lib.win32-cpython-312\noise\_simplex.cp312-win_amd64.pyd /IMPLIB:build\temp.win32-cpython-312\Release\_simplex.cp312-win_amd64.lib
         Creating library build\temp.win32-cpython-312\Release\_simplex.cp312-win_amd64.lib and object build\temp.win32-cpython-312\Release\_simplex.cp312-win_amd64.exp
      _simplex.obj : error LNK2001: unresolved external symbol __imp__PyFloat_FromDouble
      _simplex.obj : error LNK2001: unresolved external symbol __imp__PyErr_SetString
      _simplex.obj : error LNK2001: unresolved external symbol __imp__PyExc_ValueError
      _simplex.obj : error LNK2001: unresolved external symbol __imp__PyModule_Create2
      _simplex.obj : error LNK2001: unresolved external symbol __imp__PyArg_ParseTupleAndKeywords
      build\lib.win32-cpython-312\noise\_simplex.cp312-win_amd64.pyd : fatal error LNK1120: 5 unresolved externals
      error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\link.exe' failed with exit code 1120
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for noise
  Running setup.py clean for noise
Failed to build noise
ERROR: Could not build wheels for noise, which is required to install pyproject.toml-based projects

已尝试的解决措施

  • 更新wheel、setuptools、Cmake、pip、Python及PowerShell
  • 将所有Python相关目录添加至PATH环境变量

内容的提问来源于stack exchange,提问作者Otto Moir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:10:53