如何在非python travis配置中使用python 3作为构建脚本?

Cel*_*ggs 28 python python-3.x travis-ci

我正在尝试在使用基于python3的自定义构建脚本的C库上使用Travis CI.

在构建存储库时,它会失败,./configure因为configure使用的是默认情况下未安装的Python 3.

如果我正在构建一个Python项目,我会在我的.travis.yml:

python:
  - "3.4"
Run Code Online (Sandbox Code Playgroud)

然而,这似乎并没有影响到我的仓库,因为它是在C.(我试图运行which python3python --version,其报道称,巨蟒-3不存在和Python 2.7是在使用来代替.)

我试过的构建脚本:

language: c

python:
  - "3.4"
Run Code Online (Sandbox Code Playgroud)

当我的项目不是Python项目时,如何在Travis CI中使用Python 3?

mfu*_*ger 20

如果要使用基于容器的基础结构,可以使用apt addon:

addons:
  apt:
    sources:
      - deadsnakes # source required so it finds the package definition below
    packages:
      - python3.5
Run Code Online (Sandbox Code Playgroud)

此处列出了可以使用的包

更新

为了使用像psycopg2或pyYAML这样的c-extensions的依赖关系,还需要添加 python3.4-dev

  • 这很好,但我该如何使用它?它似乎没有被添加到路径中(调用python3不起作用,python3.5也没有) (3认同)

Eri*_*elt 10

您应该能够通过添加以下before_install:部分来安装所需的python3包.travis.yml:

before_install:
- sudo apt-get update
- sudo apt-get install python3
Run Code Online (Sandbox Code Playgroud)


Mar*_*oij 6

Travis 使用pyenv来管理其 Python,并且在撰写本文时默认安装了 Python 2.7.16 和 3.6.3。您可以使用pyenv global 3.6Python 3.6.3;你不需要root。

这是获得 Python 3 的最简单、最快捷的方法,并且在您不需要特定 Python 3 版本(例如构建脚本等)的情况下很有用。如果您想要特定的 Python 版本和/或构建矩阵,那么将其安装为其他一些答案中提到的包或插件可能会更快更容易。