全新的PyPI已经进入beta测试阶段!

2018 年 5 月 13 日 Python程序员

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
译者:少年


登录查看更多
0

相关内容

Python是一种面向对象的解释型计算机程序设计语言,在设计中注重代码的可读性,同时也是一种功能强大的通用型语言。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
34+阅读 · 2020年4月5日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
3 行代码 5 秒抠图的 AI 神器,根本无需 PS
大数据技术
20+阅读 · 2019年7月24日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
Knowledge Distillation from Internal Representations
Arxiv
4+阅读 · 2019年10月8日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
3+阅读 · 2018年10月18日
Arxiv
4+阅读 · 2018年4月10日
Arxiv
7+阅读 · 2018年1月21日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
3 行代码 5 秒抠图的 AI 神器,根本无需 PS
大数据技术
20+阅读 · 2019年7月24日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Python3.8新特性概览
Python程序员
4+阅读 · 2018年12月8日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
相关论文
Knowledge Distillation from Internal Representations
Arxiv
4+阅读 · 2019年10月8日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
3+阅读 · 2018年10月18日
Arxiv
4+阅读 · 2018年4月10日
Arxiv
7+阅读 · 2018年1月21日
Arxiv
3+阅读 · 2017年12月18日
Top
微信扫码咨询专知VIP会员