Table of Contents

1.问题重述

执行下列指令

python setup.py check
  • 1.

出现

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列

2.分析

问题锁定在invalid start byte,确认是读文件编码的问题,with open里面加入

, errors='ignore'
  • 1.

先忽视错误试试

PS F:\Archives_2\full_code_reuse_group\myz_tools> python setup.py check
error in myz_tools setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Expected end or semicolon (after name and no valid version specifier)
    absl-py==2.1.0
     ^
  • 1.
  • 2.
  • 3.
  • 4.

错误显示 setup.py 文件中 install_requires 参数的值存在问题

定位到代码中

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_02

是读取requirements.txt的时候出现问题的,定位到文件里面

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_03

看到的不是包=版本号的格式,尝试手动清空该txt,重新执行

pip freeze > requirements.txt
  • 1.

结果还是一样

尝试查看当前python解释器的路径

Get-Command python
  • 1.

路径是一个自己安装好的全局的路径

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_04

得,才发现用到的不是项目下的虚拟环境,以后打开vscode一定要先检查环境

激活环境

.\.venv\Scripts\activate
  • 1.

确认环境没问题

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_05

重新安装所需要的库

再次执行

pip freeze > requirements.txt
  • 1.

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_06

OK,requirements.txt没有问题了

接下来尝试打包

PS F:\Archives_2\full_code_reuse_group\myz_tools> python setup.py check
error in myz_tools setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Parse error at "'\x00e\x00a\x00u\x00t'": Expected stringEnd
  • 1.
  • 2.

还是报错,显示install_requires格式有问题,打个断点试试

得到的值是这样的

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_07

类型是list,没有问题

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_08

那应该还是编码解码的问题,编码解码都换为utf-8后

再次执行

pip freeze > requirements.txt
  • 1.

OK,打包检查成功了

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_09

打包的时候又报了个错

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_10

对了,换了一个干净的虚拟环境,需要重新安装一些打包的库

pip install wheel
  • 1.

成功上传

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_11

小小报错,轻松拿下!


nice,确认成功上传

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_12

找一个干净的环境测试一下

再建一个环境

下载最新版

pip install -i https://test.pypi.org/simple/ myz_tools==0.1.5
  • 1.

又报了个错

ERROR: Could not find a version that satisfies the requirement certifi==2024.7.4 (from myz-tools) (from versions: 2016.8.8)
ERROR: No matching distribution found for certifi==2024.7.4
  • 1.
  • 2.

按照提示安装下

pip install certifi
pip install charset-normalizer
pip install idna
pip install requests
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

pip再更新下

pip install --upgrade pip
  • 1.
  • 2.

确认版本最新,开始客户端测试

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_13

客户端测试全部通过

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_14

正式版0.1.6发布

测试全部通过

【问题解决方案】python setup.py check,提示     .\x000\x00\r\x00\n\x00', 0, 1, 'invalid start byte')) _AI系列_15

关于开源

目前规模还是比较小,后续一系列新功能加入后会开源在各个平台上面
当然如果现在用的话也可以直接进行使用

pip install myz_tools
  • 1.

写在最后

欢迎技术类的问题到 这里提出,我会逐个解答


END

本文由博客一文多发平台  OpenWrite 发布!