摘要:最近業務需要抽離,抽離出來的應用需要做成第三方包的形式,可以在任何也沒那么神奇,例如有些版本就沒測試版本項目中,直接安裝使用,所以這里還是需要發包到。第一次發包我是先發到環境,看下發包還是不是符合我的預期,畢竟很長時間沒發過包。
最近業務需要抽離,抽離出來的應用需要做成 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, ?B/s] SSLError: HTTPSConnectionPool(host="test.pypi.org", port=443): Max retries exceeded with url: /legacy/ (Caused by SSLError(SSLError(1, u"[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661)"),))
結果打臉,查了下資料,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, ?B/s] SSLError: HTTPSConnectionPool(host="test.pypi.org", port=443): Max retries exceeded with url: /legacy/ (Caused by SSLError(SSLError(1, u"[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661)"),))
很不幸,繼續躺著,谷歌了下 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 版本低,升級
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44689.html
摘要:所以也很容易想到可以利用等待通知機制來實現,和上文的并發包入坑指北之阻塞隊列的類似。 showImg(https://segmentfault.com/img/remote/1460000019021474?w=2785&h=2785); 前言 在面試過程中聊到并發相關的內容時,不少面試官都喜歡問這類問題: 當 N 個線程同時完成某項任務時,如何知道他們都已經執行完畢了。 這也是本次討...
摘要:自己實現在自己實現之前先搞清楚阻塞隊列的幾個特點基本隊列特性先進先出。消費隊列空時會阻塞直到寫入線程寫入了隊列數據后喚醒消費線程。最終的隊列大小為,可見線程也是安全的。 showImg(https://segmentfault.com/img/remote/1460000018811340); 前言 較長一段時間以來我都發現不少開發者對 jdk 中的 J.U.C(java.util.c...
摘要:今年歲,目前在某行業頭部企業任職測試負責人,管理人的測試團隊。渾渾噩噩的年我年出生,年二本畢業,專業是電子信息工程專業。轉行這年截止此時此刻,我已入坑近年時間,經歷家互聯網公司,最近一份工作已有年之多,目前任職測試負責人。 ...
摘要:這一點其實是非常不妥的,有潛在的安全問題。這次,在項目中終于采用了以它為基礎的集群方案。相反,使用一個周期,但針對每個生成一個一次性的,模擬隨機發送。同時,要記得用完之后立即釋放。 當初創建簡書賬號的時候曾立下宏愿,希望保持周更,無奈現實殘酷,整個5月都處于忙忙碌碌的狀態,居然令這個本來并不算太宏偉的目標難以為繼,最終導致5月份交了白卷!【好吧,我承認,是我意志不夠堅定,太懶了,;)】...
閱讀 3554·2019-08-30 12:58
閱讀 932·2019-08-29 16:37
閱讀 2808·2019-08-29 16:29
閱讀 3111·2019-08-26 12:18
閱讀 2376·2019-08-26 11:59
閱讀 3420·2019-08-23 18:27
閱讀 2796·2019-08-23 16:43
閱讀 3309·2019-08-23 15:23