以前曾经发布过Kotti2 0.1版本:https://skywalk.blog.csdn.net/article/details/148616219,当时是把pyramid升级到2.0 ,但是kotti_image kotti_tinymce等都没有同步升级,所以整个包无法使用。

现在是先降低目标,只是把Kotti升级到可以在python3.12环境下使用,pyramid先保留1.10版本,同时修改了kotti_image kotti_tinymce等相关库,让Kotti可以先在python3.12下部署使用!

github repo:skywalk163/kotti_py312

gitcode repo:kotti-py312:基于 Python 3.12 的 CMS 及其插件项目 - AtomGit | GitCode

编译

python -m build "G:\dumatework\Kotti"
python -m build "G:\dumatework\kotti_image"
python -m build "G:\dumatework\kotti_g4f"
python -m build "G:\dumatework\kotti_tinymce"

如果是多次编译,需要先删除以前的编译包:

rm -rf "G:\dumatework\Kotti\dist" "G:\dumatework\Kotti\build" "G:\dumatework\Kotti\*.egg-info" 2>&1; python -m build "G:\dumatework\Kotti" 2>&1
rm -rf "G:\dumatework\kotti_image\dist" "G:\dumatework\kotti_image\build" "G:\dumatework\kotti_image\*.egg-info" 2>&1; python -m build "G:\dumatework\kotti_image" 2>&1
rm -rf "G:\dumatework\kotti_tinymce\dist" "G:\dumatework\kotti_tinymce\build" "G:\dumatework\kotti_tinymce\*.egg-info" 2>&1; python -m build "G:\dumatework\kotti_tinymce" 2>&1
rm -rf "G:\dumatework\kotti_g4f\dist" "G:\dumatework\kotti_g4f\build" "G:\dumatework\kotti_g4f\*.egg-info" 2>&1; python -m build "G:\dumatework\kotti_g4f" 2>&1

所有包已构建成功:

包名	文件	大小
Kotti2	kotti2-3.0.0-py3-none-any.whl	1.6 MB
Kotti2	kotti2-3.0.0.tar.gz	1.4 MB
kotti2_image	kotti2_image-3.0.0-py3-none-any.whl	7 KB
kotti2_image	kotti2_image-3.0.0.tar.gz	7 KB
kotti2_tinymce	kotti2_tinymce-3.0.0-py3-none-any.whl	2.3 MB
kotti2_tinymce	kotti2_tinymce-3.0.0.tar.gz	1.9 MB
kotti2_g4f	kotti2_g4f-3.0.0-py3-none-any.whl	21 KB
kotti2_g4f	kotti2_g4f-3.0.0.tar.gz	19 KB

上传pypi

# 设置 PyPI token
export TWINE_USERNAME=__token__
export TWINE_PASSWORD=pypi-your-token-here

# 上传 Kotti2
python -m twine upload "G:\dumatework\Kotti\dist\*"

# 上传 kotti2_image
python -m twine upload "G:\dumatework\kotti_image\dist\*"

# 上传 kotti2_tinymce
python -m twine upload "G:\dumatework\kotti_tinymce\dist\*"

# 上传 kotti2_g4f
python -m twine upload "G:\dumatework\kotti_g4f\dist\*"
或者使用 TestPyPI 测试:

python -m twine upload --repository testpypi "G:\dumatework\Kotti\dist\*"

使用 TestPyPI 测试:

python -m twine upload --repository testpypi "G:\dumatework\Kotti\dist\*"

上传完成

(.venv) G:\dumatework>python -m twine upload "G:\dumatework\Kotti\dist\*"
Uploading distributions to https://upload.pypi.org/legacy/
Uploading kotti2-3.0.0-py3-none-any.whl
100% ---------------------------------------- 1.7/1.7 MB • 00:11 • 181.2 kB/s
Uploading kotti2-3.0.0.tar.gz
100% ---------------------------------------- 1.5/1.5 MB • 00:01 • 916.5 kB/s

View at:
https://pypi.org/project/Kotti2/3.0.0/

(.venv) G:\dumatework>python -m twine upload "G:\dumatework\kotti_image\dist\*"
Uploading distributions to https://upload.pypi.org/legacy/
Uploading kotti2_image-3.0.0-py3-none-any.whl
100% ---------------------------------------- 18.2/18.2 kB • 00:01 • ?
Uploading kotti2_image-3.0.0.tar.gz
100% ---------------------------------------- 17.7/17.7 kB • 00:00 • ?

View at:
https://pypi.org/project/kotti2-image/3.0.0/

(.venv) G:\dumatework>python -m twine upload "G:\dumatework\kotti_tinymce\dist\*"
Uploading distributions to https://upload.pypi.org/legacy/
Uploading kotti2_tinymce-3.0.0-py3-none-any.whl
100% ---------------------------------------- 2.4/2.4 MB • 00:10 • 263.4 kB/s
Uploading kotti2_tinymce-3.0.0.tar.gz
100% ---------------------------------------- 1.9/1.9 MB • 00:04 • 453.7 kB/s

View at:
https://pypi.org/project/kotti2-tinymce/3.0.0/

(.venv) G:\dumatework>python -m twine upload "G:\dumatework\kotti_g4f\dist\*"
Uploading distributions to https://upload.pypi.org/legacy/
Uploading kotti2_g4f-3.0.0-py3-none-any.whl
100% ---------------------------------------- 30.8/30.8 kB • 00:01 • ?
Uploading kotti2_g4f-3.0.0.tar.gz
100% ---------------------------------------- 28.2/28.2 kB • 00:00 • ?

View at:
https://pypi.org/project/kotti2-g4f/3.0.0/

总结

上传pypi前,可以先测试一下

python -m twine test "G:\dumatework\Kotti\dist\*"

也可以用这句

python -m twine test "G:\dumatework\Kotti\dist\*"

python -m twine upload --repository testpypi "G:\dumatework\Kotti\dist\*"

另外上传的时候如果出错,可以加--verbose参数来看详细报错

python -m twine upload "G:\dumatework\Kotti\dist\*" --verbose

每一个版本只准上传一次,如果修改代码重新编译后,想上传,那么一定要记住改版本号!

不改版本号,即使在pypi上手工删除那个版本,也无法再次上传。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐