минимальный пример устанавливаемого модуля python - PullRequest
0 голосов
/ 20 марта 2020

Скажем, у меня есть каталог с некоторыми файлами .py и некоторые каталоги с другими файлами .py

Этот каталог называется my_program

my-program
 -- dir1
    -- file.py
 -- dir2

Я хочу использовать my_program's определенные модули из любого каталога , скажем, с помощью

>>> import my_program
>>> myprogram.dir1.file.function()

или с помощью

>>> import my_program.dir1.file
>>> file.function()

Я также хочу "установить" мой модуль для общесистемной доступности с помощью pip

1 Ответ

0 голосов
/ 20 марта 2020

Ниже приведен минимальный рабочий пример

my_packs/
├── foo
│   ├── code.py
│   └── __init__.py
└── setup.py

здесь code.py содержит некоторую полезную функцию, а setup.py содержит

from setuptools import find_packages, setup
setup(name="foo",
      version="0.1",
      description="A foo utility",
      author="Ewen Cheslack-Postava",
      author_email='me@ewencp.org',
      platforms=["any"],  # or more specific, e.g. "win32", "cygwin", "osx"
      license="BSD",
      url="http://github.com/ewencp/foo",
      packages=find_packages(),
      )

, а init - это пустой файл

пакет может быть установлен с

python setup.py develop

или

pip install -e .

, а затем из любого каталога он работает следующим образом:

python -c 'import foo.code; print(foo.code.useful_function())'

Пример адаптирован от: https://ewencp.org/blog/a-brief-introduction-to-packaging-python/index.html

...