Предпочтительным решением было бы создать собственный пакет conda (информация here).
Другим решением было бы создать связь между вашим каталогом пакетов и любым каталогом в sys.path. Таким образом, когда вы запрашиваете python для импорта своего пакета, anaconda будет искать в своих различных каталогах sys.path и будет читать ссылку на ваш пакет, как если бы этот пакет был в одном из каталогов sys.path.
Ссылка на каталог может быть легко выполнена с помощью команды ln
(link_name). В качестве примера:
ln -s /path/to/my/package /path/to/anaconda/lib/python2.7/site-packages/
Вышеупомянутая ссылка позволит вам импортировать пакет в среду по умолчанию anaconda из любой директории. Это не повлияет ни на одну из других сред.
Если вы хотите добавить пакет к определенной среде (например - «myenv») в анаконде, вы можете связать пакет с одним из путей SYS этой конкретной окружающей среды:
ln -s /path/to/my/package /path/to/anaconda/env/myenv/lib/python2.7/site-packges/
Обратите внимание на следующее:
- Ссылка на каталог вашего пакета на путь sys, а не перемещение каталога пакета на путь sys, позволяет сохранить ваш пакет в выбранном вами каталоге.
Флаг -s
создает мягкую ссылку (очень похожую на ярлык).Если вы переместите каталог своего пакета, ссылка не сработает. Запуск ln
без флага -s
генерирует жесткую ссылку (например, зеркальную копию), на которую не будет влиять перемещение (или даже удаление ..) каталога пакетов. Обсуждаются плюсы и минусы софт-ссылок и жестких ссылок here
Пользователи Windows должны использовать mklink. Для информации смотрите here.