Включить FreeCAD в системный путь только для одной виртуальной среды conda

Я хочу иметь возможность импортировать FreeCAD в свои скрипты Python, но только в одну виртуальную среду conda. Есть ли способ сделать это без добавления FreeCAD к пути в начале каждого файла? Я использую Pop!_OS, которая здесь должна вести себя как Ubuntu.

Я уже обнаружил, что вы можете импортировать FreeCAD, но источник, который я нашел, сделал это, добавив местоположение библиотеки FreeCAD в начало файла: https://www.freecadweb.org/wiki/Embedding_FreeCAD. Похоже, вы можете обойти эту проблему, изменив переменную пути, и я смог сделать это в Windows на своем рабочем месте. Я просто хочу сделать это только для конкретной виртуальной среды conda.

В идеале,

import FreeCAD

будет работать в специальной виртуальной среде, но не в других.

Как уже упоминалось, я уже заставил оператор импорта работать в Windows, добавив каталог FreeCAD в переменную среды PATH. Он работал с питоном по умолчанию в командной строке, который должен быть установкой анаконды, поэтому я думаю, что он работает во всех виртуальных средах. Однако в Linux я не могу импортировать FreeCAD в python, даже когда использую

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 одной виртуальной средой.


person fyodrpetrovich    schedule 18.08.2019    source источник


Ответы (2)


Conda не ищет пакеты из среды PATH. Подробности см. в этом ответе. Но сначала проверьте, можно ли установить ваш пакет с помощью pip или conda.

person honglei    schedule 18.08.2019
comment
Спасибо! Похоже, что FreeCAD не поддерживает установку pip или conda, потому что они хотят использовать установку python внутри программы. - person fyodrpetrovich; 18.08.2019
comment
Создание символической ссылки в $HOME/path/to/anaconda/lib/pythonX.X/site-packages должно быть самым простым решением. - person honglei; 18.08.2019
comment
Может быть и так. Я использовал conda development /usr/lib/freecad-python3/lib/, и это сработало. - person fyodrpetrovich; 18.08.2019

Вы можете перейти в каталог пакетов сайта virtualenv и добавить путь к freecad в easy_install.pth.

person zhukovgreen    schedule 18.08.2019