问题
I am trying to use twine to publish my first python package on pypi (of course will add on test-pypi first).
I followed the official guideline on https://packaging.python.org/tutorials/packaging-projects/.
But for some reason, twine is not found or not properly installed.
I installed twine using:
pip install twine
"pip list" says twine is installed on pip.
After I upgraded twine and everything, when I tried to run:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
then it says that twine is not found at all:
-bash: twine: command not found .
My system is mac (high sierra) and I am using python2.7 by conda. Pip is also configured to conda python:
>>pip -V
>>pip 10.0.1 from /anaconda2/lib/python2.7/site-packages/pip (python 2.7)
I would appreciate your help.
回答1:
Use python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
回答2:
Based on @hoefling comments run
pip show -f twine
That will list all files that belong to the twine
package. It will output something like this:
Name: twine Version: 1.12.1 Summary: Collection of utilities for publishing packages on PyPI Home-page: https://twine.readthedocs.io/ Author: Donald Stufft and individual contributors Author-email: donald@stufft.io License: Apache License, Version 2.0 Location: /Users/hakuna.matata/.local/lib/python3.6/site-packages Requires: pkginfo, readme-renderer, tqdm, requests, requests-toolbelt, setuptools Required-by: Files: ../../../bin/twine twine-1.12.1.dist-info/INSTALLER twine-1.12.1.dist-info/LICENSE.txt twine-1.12.1.dist-info/METADATA twine-1.12.1.dist-info/RECORD twine-1.12.1.dist-info/WHEEL twine-1.12.1.dist-info/entry_points.txt twine-1.12.1.dist-info/top_level.txt twine/__init__.py twine/__main__.py twine/__pycache__/__init__.cpython-36.pyc twine/__pycache__/__main__.cpython-36.pyc twine/__pycache__/_installed.cpython-36.pyc twine/__pycache__/cli.cpython-36.pyc twine/__pycache__/exceptions.cpython-36.pyc twine/__pycache__/package.cpython-36.pyc twine/__pycache__/repository.cpython-36.pyc twine/__pycache__/settings.cpython-36.pyc twine/__pycache__/utils.cpython-36.pyc twine/__pycache__/wheel.cpython-36.pyc twine/__pycache__/wininst.cpython-36.pyc twine/_installed.py twine/cli.py twine/commands/__init__.py twine/commands/__pycache__/__init__.cpython-36.pyc twine/commands/__pycache__/check.cpython-36.pyc twine/commands/__pycache__/register.cpython-36.pyc twine/commands/__pycache__/upload.cpython-36.pyc twine/commands/check.py twine/commands/register.py twine/commands/upload.py twine/exceptions.py twine/package.py twine/repository.py twine/settings.py twine/utils.py twine/wheel.py twine/wininst.py
Note the first file under Files
which is ../../../bin/twine
and Location: /Users/hakuna.matata/.local/lib/python3.6/site-packages
. Of course your user name will replace 'hakuna.matata'
That will lead to a path to package executable at /Users/hakuna.matata/.local/bin
which you can add it to your .bash_profile
as export PATH='/Users/hakuna.matata/.local/bin:$PATH'
Then, either restart terminal or
source ~/.bash_profile
来源:https://stackoverflow.com/questions/51451966/twine-not-found-bash-twine-command-not-found