文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python 项目代码写完了,然后怎么打包和发布?

2024-12-11 18:33

关注

喂,开源么?

接下来小帅b就跟你说说,如何打包你的代码。

就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为例,写完代码之后,代码的目录是这样的:

 

在 todo 这个目录里面,文件都放在一起了,我们可以这样简单划分一下:

 

这里创建了一个 package 目录,将源码文件放进去,然后把模板文件和数据库文件分门别类的安排好。

在 package 中,还创建了一个 你常常看到的 __init__.py 到底是个啥? 仪式感一下。

为了让别人知道你是认真对待这个项目的,你可以在项目文件中创建一个 tests 目录,在里面测试你的代码:

 

接着可以创建一个 LICENSE,用来说明你的这个项目可以被怎么使用?是不是需要声明来源,是不是可以商用?别人用你的项目去搞事情如何避免被抓去吃牢饭等。

 

接着再创建一个 README 文件,来说明你这个项目是干什么的,如何使用等描述。

 

现在你的项目文件目录就有点人模人样了:

 

接下来要创建一个比较重要的文件了 —— setup.py,这个文件主要用来描述你的项目信息,好让 setuptools 打包工具来帮你打包项目。

在根目录下创建一个 setup.py 文件,按以下的方式来写你的项目信息:

 

每个参数都是什么意思呢?我来给你说明一下:

 

那么现在,你的项目目录应该是这样子的:

 

接下来就可以打包了。

如果你之前没有安装过 setuptools 和 wheel 可以先安装一波:

  1. python3 -m pip install --upgrade setuptools wheel 

 

然后在你的项目根目录下,使用如下命令打包:

  1. python3 setup.py sdist bdist_wheel 

 

这时候你的目录会增加这么些文件:

 

这样就算打包好了,在 dist 目录中,以 tar.gz 结尾的是你项目的源文件,而以 .whl 结尾的就是构建好了给别人使用的发行版。

那么如何将你打包好的项目发布出来,给别人使用呢?

其实之前有说过了,这里再简单的说一下吧:

先安装一下 twine:

  1. python3 -m pip install twine 

接着使用 twine 将你打包好的文件上传到 pypi 上面去:

  1. twine upload dist/* 

这时候它会提示你输入 pypi 的账号密码:

 

没有怎么办?去注册一个呗,到以下链接注册:

https://pypi.org/account/register/

接着输入你的账号密码,就可以上传上去了:

 

这时候别人就可以通过 pip 来安装你的项目了:

 

 

像这样:

 

然后就可以给别人使用你的包了:

 

你在 pip install 的时候,其实就是下载你上传的 whl 文件然后安装:

 

如果你不想开源,只想给你朋友使用的话,你也可以直接把 dist 这个目录下的文件发给他,让他自行安装一波就可以使用了:

 

 

ok,以上就是今天小帅b给你带来的分享,希望对你有帮助,那么我们下回见,peace!

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯