首页 > 解决方案 > Kicad:使用 Python 导出 BOM 时出现错误 40

问题描述

在 EESchema 中,我正在尝试各种 BOM 导出脚本,以找出哪个更适合我的需要。但是,它们中的大多数都因以下错误而失败:

Run command:
python "/usr/share/kicad/plugins/bom_html_with_advanced_grouping.py" "/home/andrea/myboard.xml" "/home/andrea/myboard"

Command error. Return code -1
Error messages:
execvp(python, /usr/share/kicad/plugins/bom_html_with_advanced_grouping.py, /home/andrea/myboard.xml, /home/andrea/myboard) failed with error 40!

我无法理解什么是“错误 40”。这里是失败的脚本列表:

bom_html_with_advanced_grouping.py
bom_html_grouped_by_value.py
bom_sorted_by_ref.py
bom_csv_sorted_by_ref.py
bom_csv_grouped_by_value_with_fp
bom_csv_grouped_by_value.py

他们似乎都使用 Python,所以我猜它有问题。但是在我的系统中,我有一个工作python2python3并且我还检查了内置的 Kicad 的 python 是否正常工作(即从 Pcbnew 我可以成功打开工具 > 脚本控制台)。所以我认为这不是问题(否则 Kicad 会告诉它是否没有找到所需的依赖项)。

我也尝试为pythontopython2或创建别名,python3但没有任何改变。

此外,我不明白“错误 40”是否来自 Kicad、Python 或 execvp。

奇卡信息:

Application: Eeschema
Version: 5.1.9-73d0e3b20d~88~ubuntu20.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.4.0-65-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.71.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.68.0
    Compiler: GCC 9.3.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

标签: pythonkicad

解决方案


如果您不确定 BOM 脚本,要获得诊断,您可以从命令行运行它们。KiCad 调用它们的方式没有什么特别之处。


推荐阅读