前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《统计学习方法》使用 Travis-CI 持续集成

《统计学习方法》使用 Travis-CI 持续集成

作者头像
iOSDevLog
发布于 2019-06-11 09:00:29
发布于 2019-06-11 09:00:29
95600
代码可运行
举报
文章被收录于专栏:iOSDevLogiOSDevLog
运行总次数:0
代码可运行

GitHub持续集成 Travis-CI 的集成非常简单。

travis.build.png

构建 Python 项目

Building a Python Project

指定Python版本

使用python密钥指定python版本。当我们更新Python构建映像时,别名3.6会指向不同的确切版本或补丁级别。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
language: python
python:
  - '3.5'
  - '3.6'
  - '3.7'
install:
  - pip install -r requirements.txt
script:
  - pytest slmethod

Python 3.7及更高版本

您需要添加 dist: xenial 到您的 .travis.yml 文件以使用 Python 3.7 及更高版本。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dist: xenial   # required for Python >= 3.7
language: python
python:
  - "3.7"

travis.png

PyPI部署

https://docs.travis-ci.com/user/deployment/pypi/

成功构建后,Travis CI可以自动将Python包发布到PyPI

对于最小配置,请将以下内容添加到.travis.yml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deploy:
  provider: pypi
  user: "Your username"
  password: "Your password"

但是,这会将您的PyPI密码暴露给全世界。我们建议您加密密码并通过运行以下命令将其添加到.travis.yml:

安装 travis-encrypt

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install travis-encrypt

然后在 .travis.yml 所在目录执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
travis encrypt your-password-here --add deploy.password

或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
travis-encrypt --deploy iosdevlog slmethod .travis.yml

这个要按提示输入 pypi 密码。

请注意,如果您的 PyPI 密码包含特殊字符,则需要在加密密码之前将其转义。

部署 tag

最有可能的是,当您的软件包的新版本被删除时,您只想部署到PyPI。为此,您可以告诉Travis CI仅部署在标记的提交上,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deploy:
  provider: pypi
  user: ...
  password: ...
  on:
    tags: true

如果在本地标记提交,请记住运行 git push --tags 以确保将标记上载到 GitHub。

部署特定分支

您可以使用on选项显式指定要释放的分支:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deploy:
  provider: pypi
  user: ...
  password: ...
  on:
    branch: master

或者,您也可以将Travis CI配置为从所有分支发布:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deploy:
  provider: pypi
  user: ...
  password: ...
  on:
    all_branches: true

默认情况下,Travis CI仅从主分支发布。

从Pull Requests触发的构建永远不会触发发布。

有条件的发布

只有在满足某些条件时才能部署。请参阅条件发布on:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
language: python
deploy:
  provider: pypi
  user: ...
  password: ...
  on:
    python: 3.7
    tags: true
    branch: master

只在 Python 3.7 发布。

最后的示例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dist: xenial   # required for Python >= 3.7
language: python
python:
  - '3.5'
  - '3.6'
  - '3.7'
install:
  - pip install -r requirements.txt
script:
  - pytest slmethod
deploy:
  provider: pypi
  user: iosdevlog
  on:
    python: 3.7
    tags: true
    branch: master
  password:
    secure: xxxx

pypi.travis.png

可以发现 slmethod 升级到了 0.1.3 版本,说明已经部署成功了。

测试一下,先安装 slmethod

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3 install slmethod

显示版本,可以发到已经是 0.1.3

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ python3
Python 3.7.3 (default, Mar 27 2019, 09:23:15)
[Clang 10.0.1 (clang-1001.0.46.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import slmethod
>>> slmethod.show_versions()

System:
    python: 3.7.3 (default, Mar 27 2019, 09:23:15)  [Clang 10.0.1 (clang-1001.0.46.3)]
executable: /usr/local/opt/python/bin/python3.7
   machine: Darwin-18.6.0-x86_64-i386-64bit

Python deps:
       pip: 19.0.3
setuptools: 40.8.0
     numpy: 1.16.2
     scipy: 1.3.0
    pandas: 0.24.2
matplotlib: 3.1.0
   sklearn: 0.21.2
  slmethod: 0.1.3

添加 GitHub 项目徽章

GitHub.svg.png

打开 GitHub: https://github.com/iOSDevLog/slmethod 查看一下,果然显示项目徽章。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Django基础之(十)DRF
coreapi (1.32.0+) - Schema generation support. Markdown (2.1.0+) - Markdown support for the browsable API. django-filter (1.0.1+) - Filtering support. django-crispy-forms - Improved HTML display for filtering. django-guardian (1.1.1+) - Object level permissions support
py3study
2020/01/06
6630
从入门到"精通"Django REST Framework-(五)
GenericAPIView 是 Django REST Framework (DRF) 中的一个基础视图类,它继承自 APIView,并添加了一些常用的功能,特别是与数据库模型交互的功能。它是 DRF 中通用视图和视图集的基础,提供了查询、序列化、分页等常用操作的标准实现。本质上它是 DRF 中所有通用视图(如 ListAPIView、RetrieveAPIView 等)的基础。
rxg456
2025/03/01
1470
从入门到"精通"Django REST Framework-(五)
django 自带 user 字段扩展及头像上传
博客:https://www.jianshu.com/p/b74107b6464d
陈宇明
2020/12/15
2.3K0
django 自带 user 字段扩展及头像上传
Django REST framework+Vue 打造生鲜超市(四)
五、商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django rest framework的view 利用Django的view实现返回json数据 # goods/view_base.py from django.views.generic import View from goods.models import Goods class GoodsListView(Vie
zhang_derek
2018/04/11
4.9K0
Django REST framework+Vue 打造生鲜超市(四)
Django REST framework 的快速入门教程
创建一个新的Django项目,叫做 tutorial,然后开始一个新的app叫做 quickstart。
菲宇
2019/06/13
1.5K0
django-rest-framework框架学习
现在新一代web应用都开始采用前后端分离的方式来进行,淘汰了以前的服务器端渲染的方式。前后端分离方式有许多好处,比如 1、可以前后端并行开发,提高开发效率 2、页面都在客户端进行渲染,提高了渲染速度,减小了服务器的压力 3、一套api提供给多个客户端使用,而且不限制客户端的类型(web,app均可)
earthchen
2020/09/24
1.3K0
Django Rest Framework
https://q1mi.github.io/Django-REST-framework-documentation/
vanguard
2020/07/07
2.4K0
Python进阶31-Django 分页器
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
1.6K0
Python进阶31-Django 分页器
如何用 Django 编写 Python web API【Programming(Python)】
Django是Python API开发中最受欢迎的框架之一。 在此快速教程中学习如何使用它。
Potato
2019/12/01
2.2K0
如何用 Django 编写 Python web API【Programming(Python)】
一个完整的Django入门指南(二)
第三部分 Introduction        In this tutorial, we are going to dive deep into two fundamental concepts: URLs and Forms. In the process, we are going to explore many other concepts like creating reusable templates and installing third-party libraries. We are a
zhang_derek
2018/04/11
3.3K0
一个完整的Django入门指南(二)
JWT-配置与使用
1.jwt的安装配置 . 1.1安装JWT pip install djangorestframework-jwt==1.11.0 1.2 settings.py配置jwt载荷中的有效期设置 # jwt载荷中的有效期设置 JWT_AUTH = { # 1.token前缀:headers中 Authorization 值的前缀 'JWT_AUTH_HEADER_PREFIX': 'JWT', # 2.token有效期:一天有效 'JWT_EXPIRATION_DELTA': d
huofo
2022/03/18
1.2K0
JWT-配置与使用
Django REST framework初次使用
我们将使用 django-rest 创建一个简单的API,以允许管理员用户查看和编辑系统中的user和group。
用户4945346
2020/06/16
7430
DRF比Django的认证和权限高在哪里
Django可以用LoginRequiredMixin和PermissionRequiredMixin给类视图添加认证和权限,DRF做了高级封装,提供了更简洁的实现方式。我们通过继续学习官网教程来进行了解。
dongfanger
2020/12/22
1.5K0
DRF比Django的认证和权限高在哪里
去哪儿景点信息爬取并使用Django框架网页展示
当我们执行了 python manage.py makemigrations 后,django 在 blog 应用的 migrations 目录下生成了一个 0001_initial.py 文件,这个文件是 django 用来记录我们对模型做了哪些修改的文件。
二爷
2020/07/22
6270
去哪儿景点信息爬取并使用Django框架网页展示
初次就这么给了你(Django-rest-framework)
工程已经创建好了,需要cd进工程里边,关键是manage.py在工程里边,我们就需要借用manage.py来进行其他的操作了。
Wyc
2018/09/11
1.2K0
django-rest-framewor
REST是一种软件架构设计风格,不是标准,也不是具体的技术实现,只是提供了一组设计原则和约束条件。
py3study
2020/01/20
1.6K0
用django写接口(入门篇)
博客:https://www.jianshu.com/u/9fcd71535294
陈宇明
2020/12/15
3.2K0
用django写接口(入门篇)
构建强大的API-Django中的REST框架探究与实践
在当今的Web开发中,构建强大的API已经成为了不可或缺的一部分。而在Python领域,Django框架提供了强大的REST框架,为开发者提供了一种高效、灵活的方式来构建和管理API。本文将深入探讨Django中REST框架的使用,并通过代码实例和解析来展示其强大之处。
一键难忘
2024/05/08
5790
DjangoRestFramework,序列化组件、视图组件
    Courses --- GET ---> 查看数据----->返回所有数据列表[{},{},]
changxin7
2019/12/20
2.7K0
DjangoRestFramework,序列化组件、视图组件
python教程
在做其他事之前,我们会用virtualenv创建一个新的虚拟环境。这将确保我们的包配置与我们正在工作的其他项目完全隔离。
用户2337871
2019/07/19
5.2K0
相关推荐
Django基础之(十)DRF
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档