Как я могу запустить мой пакет PyPI, просто импортировав его и ничего не импортировав из него? - PullRequest
1 голос
/ 02 мая 2020

Я создал свой первый пакет PyPI, но возникла проблема. Я бы хотел, чтобы пользователь мог импортировать пакет с именем chess-graph, а затем сразу запустить его.

Например, пользователь может ввести import chess_graph. Затем они могли бы сразу запустить программу с помощью chart.graph(<link-to-file>).

Однако, когда я пытаюсь запустить пакет таким способом, я не могу этого сделать. Вместо этого я должен набрать import chess_graph (после запуска pip install chess-graph) и затем следовать за этим типом from chess_graph import chart.

Можно ли как-нибудь иметь возможность импортировать диаграмму вместе с chess_graph? Вот так выглядит мой каталог:

/pypi_chess

    /chess_graph

        __init__.py

        chart.py

        game_parser.py

    LICENSE

    README.md

    setup.py

Я предполагаю, что я могу импортировать диаграмму в файл __init__.py, однако это не работает.

Мой __init__.py файл выглядит так:

from chess_graph import chart

print('test print')

Когда я запускаю import chess_graph, он печатает test print, но если я пытаюсь сразу набрать chart.graph(file), он говорит: name: chart is not defined.

Я знаю это импортирует его, однако, поскольку диаграмма - это большой файл, и для импорта chess_graph требуется несколько секунд.

Как запустить файл диаграммы, просто импортировав пакет?

1 Ответ

2 голосов
/ 02 мая 2020

С таким __init__.py вы можете сделать:

import chess_graph

...

chess_graph.chart.graph(file)
...