python setup.py寄存器可以';t在位置0处解码字节0xff

python setup.py寄存器可以';t在位置0处解码字节0xff,python,pypi,sdist,Python,Pypi,Sdist,我正在打包我的python代码并希望上传到我的pypi, my setup.py如下所示: #!/usr/bin/env python from __future__ import print_function from setuptools import setup, find_packages import sys setup( name="JsonGet", version="0.2.0", author="Dennis Wang", author_ema

我正在打包我的python代码并希望上传到我的pypi, my setup.py如下所示:

#!/usr/bin/env python
from __future__ import print_function
from setuptools import setup, find_packages
import sys

setup(
    name="JsonGet",
    version="0.2.0",
    author="Dennis Wang",
    author_email="dennis.wang@detvista.com",
    license="Apache License",
    url="https://github.com/cortexiphan1/JsonGet",
    packages=["JsonGet"],
    install_requires=["simplejson"],
    classifiers=[
        "Environment :: Web Environment",
        "Intended Audience :: Developers",
        "Operating System :: OS Independent",
        "Topic :: Text Processing :: Indexing",
        "Topic :: Utilities",
        "Topic :: Internet",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3.6"
    ],
)
然后我成功地运行了这些命令

python setup.py sdist
python setup.py install 
在这些之后,我可以导入我的包并制作一个测试用例

但是当我注册并上传到pypi时,它抛出了这个解码错误, 我已经搜索和尝试了很多次,所有的文件都是用utf-8编码的

当我通过powershell在windows上使用这些命令时,它会抛出 “gbk”编解码器无法解码

我不确定到底发生了什么,我第一次上传代码到pypi

(py3) [root@detvista JsonGet]# python setup.py register sdist upload
    running register
    running egg_info
    writing JsonGet.egg-info/PKG-INFO
    writing dependency_links to JsonGet.egg-info/dependency_links.txt
    writing requirements to JsonGet.egg-info/requires.txt
    writing top-level names to JsonGet.egg-info/top_level.txt
    reading manifest file 'JsonGet.egg-info/SOURCES.txt'
    writing manifest file 'JsonGet.egg-info/SOURCES.txt'
    Traceback (most recent call last):
      File "setup.py", line 25, in <module>
        "Programming Language :: Python :: 3.6"
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
        return distutils.core.setup(**attrs)
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/site-packages/setuptools/command/register.py", line 10, in run
        orig.register.run(self)
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/command/register.py", line 45, in run
        self._set_config()
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/command/register.py", line 71, in _set_config
        config = self._read_pypirc()
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/config.py", line 57, in _read_pypirc
        config.read(rc)
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/configparser.py", line 697, in read
        self._read(fp, filename)
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/configparser.py", line 1015, in _read
        for lineno, line in enumerate(fp, start=1):
      File "/home/pyadmin/anaconda3/envs/py3/lib/python3.6/codecs.py", line 321, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
(py3)[root@detvistaJsonGet]#python setup.py寄存器sdist上传
运行寄存器
运行蛋_信息
编写JsonGet.egg-info/PKG-info
正在将dependency_链接写入JsonGet.egg-info/dependency_links.txt
将需求写入JsonGet.egg-info/requires.txt
将顶级名称写入JsonGet.egg-info/top_level.txt
正在读取清单文件“JsonGet.egg info/SOURCES.txt”
正在编写清单文件“JsonGet.egg info/SOURCES.txt”
回溯(最近一次呼叫最后一次):
文件“setup.py”,第25行,在
“编程语言::Python::3.6”
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/site-packages/setuptools/_-init__;.py”,第129行,在安装程序中
返回distutils.core.setup(**attrs)
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/core.py”,第148行,在安装程序中
dist.run_命令()
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/dist.py”,第955行,在run_命令中
self.run_命令(cmd)
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/dist.py”,第974行,在run_命令中
cmd_obj.run()
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/site packages/setuptools/command/register.py”,第10行,运行中
原始寄存器运行(自)
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/command/register.py”,第45行,正在运行
self._set_config()
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/command/register.py”,第71行,在设置配置中
config=self.\u read\u pypirc()
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/distutils/config.py”,第57行,在
config.read(rc)
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/configparser.py”,第697行,已读
自读(fp,文件名)
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/configparser.py”,第1015行,已读
对于行号,枚举中的行(fp,开始=1):
文件“/home/pyadmin/anaconda3/envs/py3/lib/python3.6/codecs.py”,第321行,解码中
(结果,消耗)=自身缓冲区解码(数据,自身错误,最终)
UnicodeDecodeError:“utf-8”编解码器无法解码位置0中的字节0xff:无效的开始字节

问题似乎出在
self.\u read\u pypirc()
。也就是说,有问题的文件是您的
~/.pypirc
。编辑该文件并验证它是否采用UTF-8编码,并且不包含过多的字符,如字节顺序标记