资讯专栏INFORMATION COLUMN

Python | 发包 2018 入坑记录

SHERlocked93 / 2249人阅读

摘要:最近业务需要抽离,抽离出来的应用需要做成第三方包的形式,可以在任何也没那么神奇,例如有些版本就没测试版本项目中,直接安装使用,所以这里还是需要发包到。第一次发包我是先发到环境,看下发包还是不是符合我的预期,毕竟很长时间没发过包。

最近业务需要抽离,抽离出来的应用需要做成 Django 第三方包的形式,可以在任何 Django(也没那么神奇,例如有些版本就没测试)版本项目中,直接安装使用,所以这里还是需要发包到 pypi。

第一次发包

我是先发到 test 环境 https://testpypi.python.org/,看下发包还是不是符合我的预期,毕竟很长时间没发过包。

twine upload  -r pypitest dist/django-xxxxx-0.0.1.tar.gz
Uploading distributions to https://test.pypi.org/legacy/
Uploading django-xxxxx-0.0.1.tar.gz
  0%|                                                                                                            | 0.00/18.5k [00:00

结果打脸,查了下资料,http://pyfound.blogspot.hk/20...,摘出来一部分

There are two deadlines to upgrade your Python to a version with the latest TLS. The first comes soon, on April 30, 2017, when python.org sites without Extended Validation Certificates will stop supporting TLS 1.0 and 1.1. These sites include:

testpypi.python.org
test.pypi.org
files.pythonhosted.org

大意是什么呢,意思就是提醒赶紧升级 python,那个后面只会只支持使用 TLS 1.2 版本的协议,低版本的不再支持了,很不幸,testpypi.python.org 这个测试站点停止支持 TLS 1.0 和 1.1

接着按照给出的例子,自己测了下

python -m pip install --upgrade requests
python -c "import requests; print(requests.get("https://www.howsmyssl.com/a/check", verify=False).json()["tls_version"])"

TLS 1.0
If you see "TLS 1.2", your interpreter"s TLS is up to date. If you see "TLS 1.0" or an error like "tlsv1 alert protocol version", then you must upgrade. ↩
第二次发包

按照文档上讲的,我的 python 过时了,那就直接升到 2.7.14;升完再跑一遍

python -c "import requests; print(requests.get("https://www.howsmyssl.com/a/check", verify=False).json()["tls_version"])"
/Users/allen/Develop/py3env/lib/python3.6/site-packages/urllib3/connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)
TLS 1.2
这下是否可以省心了,继续我的发包

twine upload  -r pypitest dist/django-xxxxx-0.0.1.tar.gz
Uploading distributions to https://test.pypi.org/legacy/
Uploading django-xxxxx-0.0.1.tar.gz
  0%|                                                                                                            | 0.00/18.5k [00:00

很不幸,继续躺着,谷歌了下 pip install pyOpenSSL 如果已经安装了,更新下,保险;

第三次发包
twine upload  -r pypitest dist/django-xxxxx-0.0.1.tar.gz
Uploading distributions to https://test.pypi.org/legacy/
Uploading django-xxxxx-0.0.1.tar.gz
100%|███████████████████████████████████████████████████████████████████████████████████████████████████| 18.5k/18.5k [00:08<00:00, 2.13kB/s]

终于跑起来了,小结下

如果 Python 版本低,升级

如果 pyOpenSSL 版本低,升级

如果 requests 版本低,升级

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44689.html

相关文章

  • 『并发包入坑指北』之向大佬汇报任务

    摘要:所以也很容易想到可以利用等待通知机制来实现,和上文的并发包入坑指北之阻塞队列的类似。 showImg(https://segmentfault.com/img/remote/1460000019021474?w=2785&h=2785); 前言 在面试过程中聊到并发相关的内容时,不少面试官都喜欢问这类问题: 当 N 个线程同时完成某项任务时,如何知道他们都已经执行完毕了。 这也是本次讨...

    Mike617 评论0 收藏0
  • 『并发包入坑指北』之阻塞队列

    摘要:自己实现在自己实现之前先搞清楚阻塞队列的几个特点基本队列特性先进先出。消费队列空时会阻塞直到写入线程写入了队列数据后唤醒消费线程。最终的队列大小为,可见线程也是安全的。 showImg(https://segmentfault.com/img/remote/1460000018811340); 前言 较长一段时间以来我都发现不少开发者对 jdk 中的 J.U.C(java.util.c...

    nicercode 评论0 收藏0
  • Java入坑指南

    摘要:入坑指南是滴,下面是一个最低的入坑还应该有种设计模式应该掌握的。堆栈以帧为单位保存线程的状态,对堆栈的操作为压栈和出栈执行字节码以后,将会产生程序计数器和栈,程序计数器存放将要执行下一条指令的偏移量。 Java入坑指南是滴,下面是一个最低的入坑 还应该有23种设计模式应该掌握的。╮(╯▽╰)╭注意,第一个j是大写。 Java的特点跨平台,风格接近C++最重要的api文档 https:/...

    Rindia 评论0 收藏0
  • 浑浑噩噩10年,入坑软件测试,6年干到测试leader,非科班的我也能当程序员!

    摘要:今年岁,目前在某行业头部企业任职测试负责人,管理人的测试团队。浑浑噩噩的年我年出生,年二本毕业,专业是电子信息工程专业。转行这年截止此时此刻,我已入坑近年时间,经历家互联网公司,最近一份工作已有年之多,目前任职测试负责人。 ...

    WalkerXu 评论0 收藏0
  • Vert.x入坑须知(2)

    摘要:这一点其实是非常不妥的,有潜在的安全问题。这次,在项目中终于采用了以它为基础的集群方案。相反,使用一个周期,但针对每个生成一个一次性的,模拟随机发送。同时,要记得用完之后立即释放。 当初创建简书账号的时候曾立下宏愿,希望保持周更,无奈现实残酷,整个5月都处于忙忙碌碌的状态,居然令这个本来并不算太宏伟的目标难以为继,最终导致5月份交了白卷!【好吧,我承认,是我意志不够坚定,太懒了,;)】...

    xialong 评论0 收藏0

发表评论

0条评论

SHERlocked93

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<