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

Windows下Anaconda Prompt安装FAC执行setup.py build遇TypeError求助

安装Flexible Atomic Code(Python版)时出现TypeError的原因及解决方法

问题场景

在Windows系统的Anaconda Prompt中安装Python版Flexible Atomic Code,执行setup.py build构建安装文件时,触发以下错误:

running build
running build_py
creating build
creating build\lib.win-amd64-cpython-310
creating build\lib.win-amd64-cpython-310\pfac
copying python\__init__.py -> build\lib.win-amd64-cpython-310\pfac
copying python\const.py -> build\lib.win-amd64-cpython-310\pfac
copying python\config.py -> build\lib.win-amd64-cpython-310\pfac
copying python\table.py -> build\lib.win-amd64-cpython-310\pfac
copying python\atom.py -> build\lib.win-amd64-cpython-310\pfac
copying python\spm.py -> build\lib.win-amd64-cpython-310\pfac
copying python\rfac.py -> build\lib.win-amd64-cpython-310\pfac
copying python\version.py -> build\lib.win-amd64-cpython-310\pfac
copying python\consts.py -> build\lib.win-amd64-cpython-310\pfac
copying python\aa.py -> build\lib.win-amd64-cpython-310\pfac
running build_ext
Traceback (most recent call last):
  File "D:\py_multislice\fac-master\fac-master\setup.py", line 198, in <module>
    setup(name="PFAC",
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
    return run_commands(dist)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
    dist.run_commands()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\dist.py", line 968, in run_commands
    self.run_command(cmd)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\dist.py", line 1217, in run_command
    super().run_command(command)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
    cmd_obj.run()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\command\build.py", line 132, in run
    self.run_command(cmd_name)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
    self.distribution.run_command(command)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\dist.py", line 1217, in run_command
    super().run_command(command)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
    cmd_obj.run()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\command\build_ext.py", line 84, in run
    _build_ext.run(self)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 316, in run
    customize_compiler(self.compiler)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\site-packages\setuptools\_distutils\sysconfig.py", line 320, in customize_compiler
    cpp = cc + " -E"  # not always
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

问题原因

这个错误的核心原因是系统找不到可用的C/C++编译器:

  1. Python扩展编译依赖C/C++编译器,但Windows默认没有预装符合要求的编译工具链;
  2. 当前使用的是微软商店版Python,这类版本在编译第三方扩展时存在兼容性限制,无法正确识别系统中的编译器,导致cc(C编译器路径变量)为None,执行字符串拼接操作时触发类型错误。

解决方法

方法一:使用Anaconda环境并安装官方编译工具

  • 激活你的Anaconda目标环境,确保后续操作都在该环境中执行:
    conda activate your_env_name
    
  • 下载并安装Microsoft Visual C++ Build Tools,安装时必须勾选「Desktop development with C++」组件,同时确保选中MSVC编译器、Windows SDK等核心模块;
  • 安装完成后重启Anaconda Prompt,重新执行:
    python setup.py build
    python setup.py install
    

方法二:使用MinGW-w64编译器

  • 下载MinGW-w64安装包,选择x86_64架构、posix线程模型、seh异常处理模式完成安装;
  • 将MinGW的bin目录(例如C:\mingw64\bin)添加到系统PATH环境变量最顶部;
  • 在Anaconda Prompt中设置环境变量指定编译器:
    set CC=gcc
    set CXX=g++
    
  • 重新执行构建和安装命令:
    python setup.py build
    python setup.py install
    

内容的提问来源于stack exchange,提问作者Cheng Z

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:42:32