Sto tentando di distribuire il mio progetto open source, Melopy, ma la gestione dei pacchetti mi ha dato problemi da quando ho iniziato. Oggi, mi sono registrato per PyPI, ma dopo aver eseguito python setup.py sdist upload
mi trovo di fronte al seguente errore.UnicodeDecodeError con PIP?
running sdist
running check
reading manifest template 'MANIFEST.in'
not writing to manually maintained manifest file 'MANIFEST'
making hard links in Melopy-0.1.0...
Creating tar archive
Traceback (most recent call last):
File "setup.py", line 19, in <module>
setup(**config)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/sdist.py", line 168, in run
self.make_distribution()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/sdist.py", line 448, in make_distribution
owner=self.owner, group=self.group)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 392, in make_archive
owner=owner, group=group)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/archive_util.py", line 237, in make_archive
filename = func(base_name, base_dir, **kwargs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/archive_util.py", line 101, in make_tarball
tar = tarfile.open(archive_name, 'w|%s' % tar_compression[compress])
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 1687, in open
_Stream(name, filemode, comptype, fileobj, bufsize),
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 431, in __init__
self._init_write_gz()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 459, in _init_write_gz
self.__write(self.name + NUL)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 475, in __write
self.buf += s
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 1: ordinal not in range(128)
Il contenuto di setup.py è il seguente.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from distutils.core import setup
config = {
'name': u'Melopy',
'author': u'Jordan Scales',
'author_email': u'[email protected]',
'description': u'Python music library',
'long_description': open(u'README.txt').read(),
'packages': ['melopy'],
'version': u'0.1.0',
'url': u'https://github.com/prezjordan/Melopy',
'license': 'LICENSE.txt',
'classifiers': []
}
setup(**config)
# Licensed under The MIT License (MIT)
# See LICENSE file for more
Qual è il contenuto del file "README.txt"? Se quel file contiene caratteri non ascii dovresti usare 'codecs.open' e usare la codifica corretta. – Bakuriu