手记

【问题解决方案】python setup.py check \x00', 0, 1, 'invalid start byte'))

@[toc]

1.问题重述

执行下列指令

python setup.py check

出现

2.分析

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

, errors='ignore'

先忽视错误试试

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
     ^

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

定位到代码中

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

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

pip freeze > requirements.txt

结果还是一样

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

Get-Command python

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

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

激活环境

.\.venv\Scripts\activate

确认环境没问题

重新安装所需要的库

再次执行

pip freeze > requirements.txt

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

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

得到的值是这样的

类型是list,没有问题

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

再次执行

pip freeze > requirements.txt

OK,打包检查成功了

打包的时候又报了个错

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

pip install wheel

成功上传

小小报错,轻松拿下!


nice,确认成功上传

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

再建一个环境

下载最新版

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

又报了个错

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

按照提示安装下

pip install certifi
pip install charset-normalizer
pip install idna
pip install requests

pip再更新下

pip install --upgrade pip

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

客户端测试全部通过

正式版0.1.6发布

测试全部通过

关于开源

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

pip install myz_tools

写在最后

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


END

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

0人推荐
随时随地看视频
慕课网APP