全新的PyPI已經進入beta測試階段!
Python部落(python.freelycode.com)組織翻譯,禁止轉載,歡迎轉發。
目錄
1. 背景
2. 遷移:新PyPI特性,裁剪特性
3. 下一步計劃
4. 安全性
5. 測試:工作流程
6. IPC/Twitter在線交流時間
7. 聯繫我們
pypi.org網站上的全新的python包管理倉庫(PyPI)目前已處於beta測試階段了。預計會在2018年4、5月份進行新舊服務的切換,這裡主要對為什麼我們要進行切換,有什麼新的變化以及有那些可期待的特性進行簡單介紹。如果你想在新舊網站切換時收到提醒郵件的話,請註冊一下Pypi公告郵件列表(https://mail.python.org/mm3/mailman3/lists/pypi-announce.python.org/)
背景
目前舊的網站pypi.python.org在2000年就開始運營了,那時候還沒有現代意義上的web框架。它的代碼庫非常陳舊,我們的開發人員進行維護或者開發新功能都很困難。為了使PyPI服務不宕機,維護人員往往需要投入大量的時間和精力。
在pypi.org網站上新版PyPI(代碼庫:Warehouse)更現代化,而且底層的代碼也都是最新的。新版本採用了現代的web框架(Pyramid),進行了100%後端測試覆蓋以及使用基於Docker的開發環境,使得開發人員和能夠更容易維護和運營以及添加新特性。
感謝Mozilla的開源基金支持,我們設計並添加了新功能特性,重做了基礎架構,將流量重定向到新網站並關閉舊網站。新舊服務切換工作主要包括重定向瀏覽器訪問和來自舊網站的pip install流量;當流量切換完成後,在4月底或5月初的某個時候,舊網站將會完全關閉。
遷移你可能不需要做任何改變。因為有重定向服務,您的網站,服務和工具都可以無縫切換到新版PyP。
用戶:對於Windows和Linux系統用戶,只要您系統的OPenSSL庫支持TLSv1.2.,那麼你什麼都不用改變。pip install會和以前一樣正常工作。對於macOS/OS X 用戶,如果您系統版本為10.12或者更舊,則需要升級最新的pip版本(9.0.3)才能安全的連接PyPI:
curl https://bootstrap.pypa.io/get-pip.py | python
包維護者:如果您使用setup.py來上傳版本,我們建議您切換到Twine。 新的PyPI的用戶名/密碼和舊的PyPI一致。 如果您有什麼問題,請參考python打包遷移指南(https://packaging.python.org/guides/migrating-to-pypi-org)進行操作。
API用戶:參考API用戶遷移指南(https://warehouse.readthedocs.io/api-reference/integration-guide/#migrating-to-the-new-pypi)
如果您受到一些棄用特性的影響(下面列出的),那麼你需要在2018年4月之前進行項目遷移和調整。如果需要幫助的話,可以線上溝通或者直接聯繫我們。你也可以註冊請註冊一下Pypi公告郵件列表(https://mail.python.org/mm3/mailman3/lists/pypi-announce.python.org/),我們會發郵件告知您更精確的切換日期。
新版PyPI特性支持移動端查看
每個項目按照時間順序顯示歷史釋放版本(例子:https://pypi.org/project/pip/#history)。
提供給項目維護人員易讀的項目日誌。
更好的搜索和過濾體驗。
支持多個項目URL(例如,用於主頁和repo頁面的)。
源代碼發布支持Markdown格式的readme(很快也支持wheel格式的)。
提供維護人員用戶可見的Gravatars頭像和電子郵件地址。
初始化上傳之前不再需要註冊一個新工程。
更好的可訪問性(以及更多的工作https://github.com/pypa/warehouse/labels/accessibility)。
更新的後台基礎架構,支持新功能和更具擴展性的PyPI。
裁剪特性
新版本也裁剪掉了一些特性(有的特性是因為政策或者發垃圾郵件的原因去掉的),如下
通過pypi.python.org進行上傳:上傳必須通過新的網站pypi.org的API。
在pypi.python.org新建用戶賬號:新的用戶賬號只能在pypi.org上創建。
文檔上傳到pythonhosted.com進行託管(關於這個問題的討論和計劃參考https://github.com/pypa/warehouse/issues/582)。
下載次數在API中可見:替換為Google BigQuery服務。
秘鑰管理:PyPI不再為用戶提供管理GPG或者SSH公鑰的頁面。
通過WEB界面進行新版本上傳:推薦使用命令行上傳工具twine。
通過Web 界面更新發布說明:如果要更新發布數據,您需要上傳新版本(討論 https://mail.python.org/pipermail/distutils-sig/2017-December/031826.html)
無需先驗證電子郵件地址即可上傳包。
API支持HTTP訪問:只支持HTTPS訪問
一旦舊的網站關閉將不再支持的事情:
對於安裝包的GPG、PGP簽名(在每個PEP 503的Simple Project API中仍然可見,但在Web UI中不再可見)
OpenID 以及 Google 授權登錄
2018年之後或者更遠的時間:
棄用XML-RPC API並重新構建我們的API
下一步計劃
參看問題記錄表(https://github.com/pypa/warehouse/issues),包括如下:
更加及時的包名稱接管(PEP541)
雙向認證
用戶投票系統
修改自己的用戶名
請註冊一下PyPI公告郵件列表:https://mail.python.org/mm3/mailman3/lists/pypi-announce.python.org以便獲取最新信息。
安全性
如果您在新的網站發現了潛在的安全漏洞,請遵循我們發布的安全策略(https://pypi.org/security/)。請勿通過GitHub,IRC或郵件列表報告安全問題,請直接向我們的安全團隊發送電子郵件。
測試
之所以進行beta發布,就是為了發現和修復bug。請幫助我們進行測試。大多數的工作流程都可以在pypi.org上進行測試,使用pypi.python.org(舊PyPI)上的賬號密碼即可登錄。對於一些破壞性操作的測試,比如移除所有者,或者刪除一個發布版本,請使用 test.pypi.org進行測試。
工作流程用戶:
註冊或者確認一個新賬號
登陸/登出
重置密碼
搜索項目
pip install 一個開發包
通過瀏覽器下載發布文件
調用JSON, RSS, Simple, 以及XML-RPC的API介面
項目維護者:
添加、刪除維護者
添加刪除擁有者
過渡項目所有權
移除一個項目
移除發布版本
查看項目日誌
查看釋放版本日誌
上傳新的發布版本(源碼發布以及wheel格式發布,需要先升級您的twine和setuptools版本)
確認項目描述,發布歷史,下載文件,項目鏈接,維護者,標籤和分類器(https://test.pypi.org/project/1234_hello_world/)的顯示是否正確
IRC / Twitter在線聊天時間
Warehouse開發人員將會在IRC,Freenode的#pypa-dev和Twitter(#newpypi)上,討論您遇到的問題,具體時間如下:
1、星期二,3月27日,上午9點至10點 PDT,中午到下午1點 EDT,18:00-19:00 CEST,下午9:30 -10:30 印度,16:00-17:00 UTC
2、星期五,3月30日,上午10點至11點 EDT,16:00-17:00 CEST,下午7:30-8:30 印度,14:00-15:00 UTC
3、星期二,4月3日, 上午8點到9點 PDT,上午11:00至中午 EDT,17:00-18:00 CEST,下午8:30-9:30 印度,15:00-16:00 UTC
4、星期四,4月5日, 下午6點到6點 PDT,晚上8點至9點 EDT,上午8點至9點 馬尼拉,上午10點至上午11點 墨爾本,0:00-1:00 UTC
隨意參與! (您需要同意遵守PyPI行為準則。)
聯繫我們
安全問題:請發送郵件至security@python.org。
其他bug報告和功能請求請移步Github:https://github.com/pypa/warehouse/issues/new。
IRC: Freenode上的#pypa-dev (中部時間,上午10點至下午5點通常都會有人,也可以使用livechat)。
Email: pypa-dev郵件列表:https://groups.google.com/forum/#%21forum/pypa-dev。
(如果參與的話,您需要同意遵守PyPA行為準則。)
感謝使用PyPI!
英文原文:https://ogmcsrgk5.qnssl.com/vcdn/1/%E4%BC%98%E8%B4%A8%E6%96%87%E7%AB%A0%E9%95%BF%E5%9B%BE/warehouse-all-new-pypi-is-now-in-beta.html.png
譯者:少年


※最新的10個優質Python開源項目
※心裡苦:61%的「入門級」工作要求三年以上工作經驗
TAG:Python部落 |