我如何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 上是这样。