Пип: почему иногда не показывается команда - PullRequest
0 голосов
/ 29 мая 2019

Я установил шпагат, используя флаг пользователя (пользовательская схема, согласно документации):

pip install --user twine

Но я не могу использовать это как команду. Например, если я сделаю:

twine --version

Это дает мне (это очевидно):

-bash: twine: command not found

Я прочитал этот аналогичный пост, но не смог найти удовлетворительного ответа (ответ не принят).

Я знаю, что могу использовать:

python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Согласно одному из ответов.

Но, мой вопрос, почему он не появляется?

Я проверил шпагат setup.py и обнаружил, что он использует entry_points (что помогает в настройке twine command). По моему предположению, setup.py игнорируется, поскольку pip использует wheel, а не sdist во время установки (или для загрузки пакета).

1 Ответ

0 голосов
/ 29 мая 2019

Для команды

twine --version

оболочка пытается найти twine двоичный файл или скрипт в $PATH.Если он не может найти скрипт, он выдает ошибку -bash: twine: command not found.Это означает, что pip установил twine в каталог, не входящий в $PATH.Узнайте, где pip установил его, с помощью команды

pip show --files twine

и добавьте каталог в $PATH.

Для команды

python3 -m twine --version

shellнаходит python3 и python3 -m ищет модуль twine, а не скрипт.python3 -m ищет модуль в sys.path, это совершенно другой путь поиска.

...