Use Python 3.6.0 in circleci

1.9k views Asked by At

I am starting new project with python 3.6 and i want to attach circleci to my project.

my circle.yml is

machine:
  timezone:
    Asia/Seoul

  python:
    version: 3.6.0

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

test:
  post:
    - python manage.py test

and circleci error

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

it seems circleci does not support latest pyenv version.

how do i fix it?

2

There are 2 answers

3
FelicianoTech On

You can use Python 3.6.0 in CircleCI (in the default Ubuntu 14.04 image) right now by having the following in circle.yml:

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

What you are giving up here is about 2 minutes of build time though. This is a workaround, if you NEED 3.6.0, until the new CCI Ubuntu 14.04 image comes out within the next 3 weeks or so.

5
Taylor D. Edmiston On

For those finding this question today, CircleCI has fixed this so now the standard config works through Python 3.6.1. For example, my circle.yml to use 3.6.1:

machine:
  python:
    version: 3.6.1

...