Я пытаюсь использовать шпагат для публикации моего первого пакета Python на pypi (конечно, сначала я добавлю test-pypi).
Я следовал официальному руководству на https://packaging.python.org/tutorials/packaging-projects/ а>.
Но шпагат почему-то не найден или неправильно установлен.
Я установил шпагат, используя:
pip install twine
«список пипсов» говорит, что шпагат установлен на пипе.
После того, как я обновил шпагат и все такое, когда я попытался запустить:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
потом пишет, что шпагат вообще не найден:
-bash: twine: command not found .
Моя система — Mac (высокая сьерра), и я использую python2.7 от conda. Pip также настроен на conda python:
>>pip -V
>>pip 10.0.1 from /anaconda2/lib/python2.7/site-packages/pip (python 2.7)
Я был бы признателен за вашу помощь.
python -m twine
вместоtwine
? (Это не полный ответ, это вопрос для отладочной информации, но если он работает, это также обходной путь, который вы можете использовать, пока не исправите ситуацию.) - person abarnert   schedule 21.07.2018pip show -f twine
для вывода списка всех файлов, принадлежащих пакету. Это покажет вам относительный путь к исполняемому файлу (что-то вроде../../bin/twine
). Объедините его с путем, напечатанным в строкеLocation:
, чтобы получить полный путь к каталогу bin. Затем добавьте каталог вPATH
:PATH=$PATH:/path/to/bin twine -V
должно работать нормально. После этого сохранитеPATH
изменения в.bash_profile
, добавив строкиPATH=$PATH:/path/to/bin
иexport PATH
. Перезапустите терминал, и все готово. - person hoefling   schedule 21.07.2018echo $PATH
? - person hoefling   schedule 21.07.2018/anaconda2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/peterpark/.local/lib/python2.7/site-packages
. Место было/Users/peterpark/.local/lib/python2.7/site-packages
- person peterpark828   schedule 21.07.2018PATH=$PATH:/path/to/bin
вместоPATH=$PATH:/path/to/bin twine -V
, потому что это также дало мне-bash: twine: command not found
- person peterpark828   schedule 21.07.2018site-packages
и относительный путь к исполняемому файлу и сопоставьте его с каталогом местоположения. Пример: местоположение/foo/bar/site-packages
, исполняемый файл../../bin/twine
. ВPATH
нужно добавить директорию/foo/bin
(на два уровня вверх отsite-packages
, затем спуститься вbin
). Удалите директориюsite-packages
изPATH
, добавьте нужную директорию и все заработает. - person hoefling   schedule 21.07.2018/Users/peterpark/.local/bin
. - person hoefling   schedule 21.07.2018