Python程序包的构建和发布过程 (2)

这个命令会提示输入刚在test.pypi.org上注册账号密码,并出现类似以下信息后说明已经上传成功。

Enter your username: hylinux1024 Enter your password: Uploading distributions to https://test.pypi.org/legacy/ Uploading bestpkg-0.0.1-py3-none-any.whl 100%|██████████████████████████████████████| 4.57k/4.57k [00:00<00:00, 8.01kB/s] Uploading bestpkg-0.0.1.tar.gz 100%|██████████████████████████████████████| 4.18k/4.18k [00:01<00:00, 3.23kB/s]

然后打开https://test.pypi.org/project/bestpkg/这个地址就可以看到我们发布的包。

0x07 安装

发布成功之后就可以使用pip来安装来。我们在虚拟环境中安装,关于虚拟环境可以看我前一篇文章。

这里就使用pipenv,这里我直接进入到我昨天创建的那个项目中,也为了更好演示安装结果。

➜ pip install --index-url https://test.pypi.org/simple/ --no-deps bestpkg

在这里我使用--index-url参数是为了指定从test.pypi.org中安装,而不是正式包索引库中查找要安装的包。还有使用了--no-deps参数是因为本例中没有使用到其它的依赖库。

在终端会看到以下类似信息,说明安装成功

Looking in indexes: https://test.pypi.org/simple/ Collecting bestpkg Downloading https://test-files.pythonhosted.org/packages/5a/fc/c109b3872b6c06e7368c30b6e52501113846f90ca716a434766151093173/bestpkg-0.0.1-py3-none-any.whl Installing collected packages: bestpkg Successfully installed bestpkg-0.0.1

进入交互界面

(pipenvdemo) ➜ pipenvdemo python >>> import bestpkg >>> bestpkg.info 'packaging demo'

info变量就是在__init__.py文件中定义的变量。自此我们的包发布、安装使用流程就走完了。

要在正式的Python索引库中发布,只需要到https://pypi.org/注册账号,并上传就可以了。

0x08 总结一下

通过一个简单的例子展示Python通过setuptools工具进行打包,然后上传到test.pypi.org的流程。如果要上传到正式的pypi.org上,只需要注册一个正式的账号。一旦发布成功就可以使用pip install [your-package]的命令进行安装。

0x09 引用

https://packaging.python.org/tutorials/packaging-projects/
Packaging Python Projects

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzgpp.html