在circleci

时间:2016-12-29 14:45:52

标签: python integration circleci pyenv python-3.6

我正在使用python 3.6启动新项目,我想将circleci附加到我的项目中。

我的circle.yml是

machine:
  timezone:
    Asia/Seoul

  python:
    version: 3.6.0

dependencies:
  pre:
    - pip install -r requirements/ci.txt

test:
  post:
    - python manage.py test

和circleci错误

python-build: definition not found: 3.6.0

The following versions contain `3.6.0' in the name:
  3.6.0b1

See all available versions with `pyenv install --list'.

If the version you need is missing, try upgrading pyenv:

  cd /opt/circleci/.pyenv/plugins/python-build/../.. && git pull && cd -

((if (or (= "3.6.0" "system") (pyenv versions --bare | grep -x -q "'3.6.0'")) (pyenv global "3.6.0") (chain-and (pyenv install --skip-existing "" "3.6.0") (pyenv global "3.6.0") (pyenv rehash) (pip install virtualenv) (pip install nose) (pip install pep8) (pyenv rehash)))) returned exit code 2

Action failed: set python version to 3.6.0
似乎circleci不支持最新的pyenv版本。

我该如何解决?

2 个答案:

答案 0 :(得分:5)

您可以立即在CircleCI中使用Python 3.6.0(在默认的Ubuntu 14.04映像中)circle.yml中包含以下内容:

machine:                                                                                                                                                                 
  pre:                                                                                                                                                                   
    - cd /opt/circleci/.pyenv; git pull                                                                                                                                  
  python:                                                                                                                                                                
    version: 3.6.0

你在这里放弃的是大约2分钟的构建时间。如果你需要3.6.0,这是一个解决方法,直到新的CCI Ubuntu 14.04图像在接下来的3周内出现。

答案 1 :(得分:1)

对于今天发现这个问题的人来说,CircleCI已经解决了这个问题,所以现在标准配置可以通过Python 3.6.1来解决。例如,我的circle.yml使用3.6.1:

machine:
  python:
    version: 3.6.1

...