如何在 CLI (python) 中“导入 FreeCAD”

如何在 CLI (python) 中“导入 FreeCAD”

我如何import FreeCAD从 python 控制台?

我正在尝试编写一个可以操作给定 FreeCAD 文件的脚本,但我什至无法将 FreeCAD 导入到安装了 FreeCAD 的系统上的 python 控制台中。

user@disp7637:~$ sudo dpkg -l | grep -i freecad
ii  freecad                                       0.19.1+dfsg1-2+deb11u1             all          Extensible Open Source CAx program
ii  freecad-common                                0.19.1+dfsg1-2+deb11u1             all          Extensible Open Source CAx program - common files
ii  freecad-python3                               0.19.1+dfsg1-2+deb11u1             amd64        Extensible Open Source CAx program - Python 3 binaries
ii  libfreecad-python3-0.19                       0.19.1+dfsg1-2+deb11u1             amd64        Extensible Open Source CAx program - Python 3 library files
user@disp7637:~$ 

user@disp7637:~$ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import FreeCAD
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'FreeCAD'
>>> import freecad
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'freecad'
>>> 

我正在运行 Debian 11

user@disp7637:~$ cat /etc/issue
Debian GNU/Linux 11 \n \l

user@disp7637:~$ 

我怎样才能import FreeCAD在python控制台中?

答案1

啊,我认为你所指的帖子有点过分夸大了

还可以将 FreeCAD 作为 Python 模块导入,但这更复杂。

FreeCAD 本身嵌入python 为 FreeCAD 进程中运行的脚本提供访问其内部状态的权限。

因此,诸如进口订单之类的事情开始变得重要。无论如何,我们开始吧:

由于这些模块与 FreeCAD 相互关联,因此它们不会安装到 python 标准模块路径中;相反,你会/usr/lib/freecad-python3/lib在 Debian 上找到它们。所以,

from sys import path as syspath
syspath.append("/usr/lib/freecad-python3/lib")
syspath.append("/usr/share/freecad/Mod/")

import FreeCAD
import Draft

顺便说一句,其他发行版更顽固地使用这些子文件夹的架构名称,因此在 Fedora 和相关发行版上,路径恰好是/usr/lib64/freecad/lib64,至少在 x86_64 上是这样。

相关内容