7
我試圖分發我的開源項目Melopy,但自從我開始以來,軟件包管理一直給我帶來問題。今天,我註冊了PyPI,但在運行python setup.py sdist upload
時,我遇到了以下錯誤。帶PIP的UnicodeDecodeError?
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)
setup.py的內容如下。
#!/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
'README.txt'文件的內容是什麼?如果該文件包含非ASCII字符,則應使用'codecs.open'並使用正確的編碼。 – Bakuriu