Я работаю над проектом python, который содержит несколько подпрограмм, которые я использую повторно. Вместо того, чтобы переписывать код все время, я просто хочу обновить свой пакет и импортировать его; однако он нигде не близок и постоянно меняется. Я размещаю пакет на репо, чтобы коллеги на разных машинах (UNIX + Windows) могли вытащить его в свои локальные репозитории и использовать его.Разница между добавлением пути к PYTHONPATH и установкой собственного модуля
Похоже, у меня есть два варианта: либо я могу поддерживать установку пакета после каждого изменения, либо просто добавить каталог папки на путь моей системы. Если я изменю пакет, нужно ли его переустановить? I'm using this blog post as inspiration, но автор там не подчеркивает проблему постоянно меняющейся структуры пакета, поэтому я не уверен, как с этим бороться.
Также, если я хотел разделить проект на несколько файлов и расслоить его как пакет, на каком уровне в структуре каталогов должен находиться PTYHONPATH? В основной каталог проекта или каталог .sample /?
README.rst
LICENSE
setup.py
requirements.txt
sample/__init__.py
sample/core.py
sample/helpers.py
docs/conf.py
docs/index.rst
tests/test_basic.py
tests/test_advanced.py
В этом примере, я хочу, чтобы иметь возможность просто импортировать сам пакет и вызвать модули в нем, как это:
import sample
arg = sample.helper.foo()
out = sample.core.bar(arg)
return out
где ядро содержит функцию с именем Foo
в вашем примере,/Opt/pythonpkgs находится на PYTHONPATH, и каждый пакет в своем собственном каталоге. Должен ли каталог pythonpkgs содержать файл __init__.py? Нужен ли каждый пакет в этом каталоге? – cbcoutinho
'/ opt/pythonpkgs/__ init __. Py' не требуется. '/ opt/pythonpkgs/my_first_pkg/__ init __. py' должен существовать. – AbdealiJK