【问题标题】:Incude FreeCAD in system path for just one conda virtual environment仅在一个 conda 虚拟环境的系统路径中包含 FreeCAD
【发布时间】:2019-12-23 20:35:46
【问题描述】:

我希望能够将 FreeCAD 导入我的 python 脚本,但只能在一个 conda 虚拟环境中。有没有办法在每个文件的开头不将 FreeCAD 添加到路径中?我正在使用 Pop!_OS,它的行为应该像这里的 Ubuntu。

我已经发现您可以导入 FreeCAD,但我发现的源代码是通过在文件开头附加 FreeCAD 库位置来实现的:https://www.freecadweb.org/wiki/Embedding_FreeCAD。看起来您可以通过修改路径变量来规避这个问题,而且我能够在工作场所的 Windows 上这样做。我只想为特定的 conda 虚拟环境执行此操作。

理想情况下,

import FreeCAD

可以在特殊的虚拟环境中工作,但不能在其他环境中工作。

如前所述,通过将 FreeCAD 的目录添加到 PATH 环境变量中,我已经让 import 语句在 Windows 上工作。它与命令提示符下的默认 python 一起工作,应该是 anaconda 安装,所以我认为它适用于所有虚拟环境。但是,在 Linux 上,即使我使用了,我也无法在 python 中导入 FreeCAD

PATH=$PATH:/usr/lib/freecad-python3/lib/

我从 "locate FreeCAD.so" 得到的。我明白了

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'FreeCAD'

如果能够在两个操作系统上运行相同的代码,并且将 PATH 修改限制在一个虚拟环境中,那就太好了。

【问题讨论】:

    标签: python path anaconda freecad


    【解决方案1】:

    Conda 不会从 PATH 环境中查找包。详情请查看this answer。但首先检查您的包是否可以使用pipconda 安装。

    【讨论】:

    • 谢谢!看起来 FreeCAD 不支持安装 pip 或 conda,因为他们想在程序内部使用 python 安装。
    • 在 $HOME/path/to/anaconda/lib/pythonX.X/site-packages 中创建符号链接应该是最简单的解决方案。
    • 也许是这样。我使用了“conda develop /usr/lib/freecad-python3/lib/”,它成功了。
    【解决方案2】:

    你可以去 virtualenv 站点的 packages 目录,将 freecad 的路径添加到 easy_install.pth 中

    【讨论】:

      猜你喜欢
      • 2020-11-15
      • 1970-01-01
      • 2021-07-23
      • 2021-05-16
      • 1970-01-01
      • 2018-06-18
      • 1970-01-01
      • 2010-12-10
      • 2021-02-27
      相关资源
      最近更新 更多