Выложить путь импорта в Python, просто и понятно? - PullRequest
2 голосов
/ 14 мая 2009

Если группа разработчиков Python хочет разместить свой общий код где-то в иерархической структуре, какова структура и каков синтаксис «импорта»?

Работает ли ссылка на java-стиль в Python? Т.е. каталоги соответствуют точкам?

Что такое стандартная настройка для библиотеки кода Python, предназначенной только для внутреннего использования, и каков синтаксис для импорта из этой области библиотеки, скажем, на 3 уровня глубиной?

Я читал Learning Python, видел PYTHONPATH, уже несколько недель возлюсь с кодом, мне это нравится, но я просто сосредоточен на «импорте», за исключением тривиальных случаев. Если слишком общий, отправьте меня обратно к книгам.

Ответы [ 2 ]

6 голосов
/ 14 мая 2009

Что мы делаем.

Разработка

  • c: \ someroot \ project \ thing__init __. Py # делает вещь пакетом

  • C: \ someroot \ Проект \ вещь \ foo.py

  • C: \ someroot \ Проект \ вещь \ bar.py

Наша «среда» (устанавливается различными способами

SET PYTHONPATH="C:\someroot\project"

Какой-то файл, над которым мы работаем

 import thing.foo
 import thing.bar

Deployment

  • / opt / someroot / project / project-1.1 / thing / init .py # делает вещь пакетом

  • / опт / someroot / проект / проект-1,1 / вещь / foo.py

  • / опт / someroot / проект / проект-1,1 / вещь / bar.py

Наша "среда" (устанавливается различными способами

SET PYTHONPATH="/opt/someroot/project/project-1.1"

Это позволяет одновременно развертывать несколько версий.

Каждая из различных «вещей» разработана как отдельная, многоразовая упаковка.

3 голосов
/ 14 мая 2009

Если группа разработчиков Python хочет разместить свой общий код где-нибудь, в иерархической структуре, какова структура и каков синтаксис «импорта»?

Вы помещаете его в свой каталог C: \ python26 \ Lib \ site-packages \ в своей собственной папке.

Внутри этой папки вы должны включить файл __init__.py, который будет запускаться при импорте, он может быть пустым.

Работает ли ссылка на Java в стиле Python? Т.е. каталоги соответствуют точкам?

Да, если каталоги содержат файлы __init__.py.

Что такое стандартная настройка для библиотеки Python только для внутреннего использования и каков синтаксис для импорта из этой области библиотеки, скажем, на 3 уровня глубиной?

MyCompany/MyProject/ -> import MyCompany.MyProject
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...