Как сделать библиотеку на основе командной строки, такую ​​как pip или conda - PullRequest
0 голосов
/ 20 апреля 2020

Обычно python библиотеки, такие как numpy или matplotlib, используются с "import numpy" в скрипте .py, затем мы вызываем функции, которые мы импортировали.

Однако некоторые библиотеки, такие как «pip» или «anaconda» не импортируются в сценарии, а скорее основаны на командах: вызываются из терминала с использованием аргументов и опций, таких как «pip install [options] [what]]».

Today Я установил библиотеку, и мне потребовалось некоторое время, чтобы понять, что она основана на командах, и не сработает, если я просто запущу скрипт "main.py", который в ней содержится.

Мой вопрос: что такое принципиальная разница между этими двумя типами библиотек? Как мне научиться создавать библиотеки на основе команд?

По сути, я просто хочу их понять, но даже не знаю, с чего начать свое исследование.

1 Ответ

0 голосов
/ 20 апреля 2020

Я хочу запустить такую ​​библиотеку, как "библиотека ...".

Здесь есть серьезное недоразумение. pip является одновременно скриптом командной строки и библиотекой.

Скрипт находится в bin/pip, например /usr/bin/pip (на w32 это Scripts\pip).

Библиотека находится где-то в sys.path, возможно в site-packages/pip, например /usr/lib/python3.8/site-packages/pip/.

И, конечно, сценарий командной строки написан на Python, и он импортирует библиотеку pip . Это main.py преобразуется в сценарий pip с помощью setuptools.

Если вы хотите сделать то же самое - создайте сценарий командной строки, который импортирует вашу библиотеку - вам нужно go по тому же маршруту. Создайте библиотеку и скрипт или точки входа .

...