[PATCH 7 of 9 v2] scripts/make-release: fix PyPI upload by using twine

Thomas De Schampheleire patrickdepinguin at gmail.com
Tue Mar 19 21:10:07 UTC 2019


# HG changeset patch
# User Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
# Date 1552946660 -3600
#      Mon Mar 18 23:04:20 2019 +0100
# Node ID dff21ea9c52d1ac3f332f2841e3f13554b9e2d75
# Parent  58c9b84a412cb9cd16376ee4605b67c331583d85
scripts/make-release: fix PyPI upload by using twine

Upload via 'python2 setup.py sdist upload' is deprecated.

Worse, for unknown reasons it stopped working for 0.4, even though 0.3 did
pretty much the same.

Following output was given:

    WARNING: Uploading via this command is deprecated, use twine to upload
    instead (https://pypi.org/p/twine/)
    Traceback (most recent call last):
      File "setup.py", line 160, in <module>
        """,
      File "/tmp/kallithea-release-JtnfD/lib/python2.7/site-packages/setuptools/__init__.py",
    line 145, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
        dist.run_commands()
      File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/tmp/kallithea-release-JtnfD/lib/python2.7/site-packages/setuptools/command/upload.py",
    line 26, in run
        orig.upload.run(self)
      File "/usr/lib64/python2.7/distutils/command/upload.py", line 62, in run
        self.upload_file(command, pyversion, filename)
      File "/tmp/kallithea-release-JtnfD/lib/python2.7/site-packages/setuptools/command/upload.py",
    line 136, in upload_file
        value = str(value).encode('utf-8')
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position
    825: ordinal not in range(128)

The error is pointing to a unicode character in the README.rst file.

The proposed 'twine' command does not have this problem.  As it seems that
this is the future, we won't waste more time investigating the problem with
'sdist upload', and start using twine from now on.

diff --git a/scripts/make-release b/scripts/make-release
--- a/scripts/make-release
+++ b/scripts/make-release
@@ -20,7 +20,7 @@ virtualenv -p python2 "$venv"
 
 echo "Install/verify tools needed for building and uploading stuff"
 pip install --upgrade -e .
-pip install --upgrade -r dev_requirements.txt
+pip install --upgrade -r dev_requirements.txt twine
 
 echo "Cleanup and update copyrights ... and clean checkout"
 scripts/run-all-cleanup
@@ -75,6 +75,5 @@ curl -X POST http://readthedocs.org/buil
 xdg-open https://readthedocs.org/builds/kallithea/
 xdg-open http://docs.kallithea-scm.org/en/latest/ # or whatever the branch is
 
-extraargs=${EMAIL:+--identity=$EMAIL}
-python2 setup.py sdist upload --sign $extraargs
+twine upload dist/*
 xdg-open https://pypi.python.org/pypi/Kallithea


More information about the kallithea-general mailing list