Выложить путь импорта в Python, прямо и просто?
Если группа разработчиков Python хочет разместить свой общий код где-нибудь, в иерархической структуре, что такое структура и какой связанный синтаксис импорта?
Также работает ли ссылка на Java в Python? Я., действительно ли каталоги соответствуют точкам?
Что такое стандартная настройка для библиотеки только для внутреннего использования кода Python и какой синтаксис для импорта из этой области библиотеки, скажем, на 3 уровня?
Я читал "Изучение Python", увидев PYTHONPATH, в течение нескольких недель играл с кодом, люблю его, но я просто плотно "импортирую" за тривиальные случаи. Если слишком общие, отправьте меня обратно в книги.
Ответы
Ответ 1
Если группа разработчиков Python хочет разместить свой общий код где-нибудь, в иерархической структуре, что такое структура и какой связанный синтаксис импорта?
Вы помещаете его в папку C:\python26\Lib\site-packages\в вашей собственной папке.
Внутри этой папки вы должны включить файл __init__.py, который будет запущен при импорте, это может быть пустым.
Также работает ли ссылка на Java в Python? Я., действительно ли каталоги соответствуют точкам?
Да, если каталоги содержат файлы __init__.py.
Что такое стандартная настройка для библиотеки только для внутреннего использования кода Python и какой синтаксис для импорта из этой области библиотеки, скажем, на 3 уровня?
MyCompany/MyProject/ -> import MyCompany.MyProject
Ответ 2
Что мы делаем.
Разработка
-
c:\someroot\project\thing__init __. py # делает вещь пакетом
-
с:\someroot\Проект\вещь\foo.py
-
с:\someroot\Проект\вещь\bar.py
Наша "среда" (множество различных способов
SET PYTHONPATH="C:\someroot\project"
Некоторые файлы, над которыми мы работаем
import thing.foo
import thing.bar
Развертывание
-
/opt/someroot/project/project-1.1/thing/ init.py # делает вещь пакетом
-
/opt/someroot/project/project-1.1/thing/foo.py
-
/opt/someroot/project/project-1.1/thing/bar.py
Наша "среда" (множество различных способов
SET PYTHONPATH="/opt/someroot/project/project-1.1"
Это позволяет развертывать несколько версий бок о бок.
Каждая из различных "вещей" предназначена для отдельных, многоразовых пакетов.