Как включить библиотеку python .egg, которая находится в подкаталоге (относительное местоположение)?

Как вы импортируете файлы python .egg, которые хранятся в относительном местоположении в .py-код?

Например,

My Application/ My Application/library1.egg My Application/libs/library2.egg My Application/test.py 

Как импортировать и использовать библиотеки1 и library2 из test.py, оставляя библиотеки .egg на месте?

2 Solutions collect form web for “Как включить библиотеку python .egg, которая находится в подкаталоге (относительное местоположение)?”

Файл .egg – это просто файл .zip, который действует как каталог, из которого вы можете импортировать материал.

Вы можете использовать переменную PYTHONPATH чтобы добавить .egg в свой путь, или добавить каталог в sys.path . Другой вариант – использовать файл .pth указывающий на яйца.

Для получения дополнительной информации см. «Малое введение в яйца Python», «Яйца питона» и « Все о яйцах» .

Например, если ваша library1.egg содержит пакет с именем foo , и вы добавляете library1.egg в PYTHONPATH , вы можете просто import foo

Если вы не можете установить PYTHONPATH , вы можете написать:

 import sys sys.path.append("library1.egg") import foo 

Вы можете включить каждое яйцо в sys.path или создать файл .pth, в котором упоминается каждое яйцо.

Если у вас много яиц, которые вам нужны в вашей системе, я бы рекомендовал использовать что-то вроде buildout, что сделает установку легко реплицируемой. Он будет обрабатывать яйца для вас.

http://pypi.python.org/pypi/zc.buildout/

  • Как обновить файл в яйце питона
  • Как получить setuptools и easy_install?
  • Как получить доступ к файлам внутри файла яйца python?
  • Как запускать файлы яиц Python напрямую, не устанавливая их?
  • Почему easy_install извлекает некоторые яйца python, а не другие?
  • Почему мое питонное яйцо не работает? - Никаких дистрибутивов вообще не найдено
  • Модуль найден в режиме установки, но не в режиме разработки с помощью setuptools
  • Я создал яйцо Питона; что теперь?
  • Python - лучший язык программирования в мире.