# Disable language installation

**URL:** <https://travis-ci.community/t/disable-language-installation/1655>\
**Category:** Travis CI Discussions & Feedback\
**Created:** [January 3, 2019, 7:45pm UTC](https://travis-ci.community/t/disable-language-installation/1655 "2019-01-03T19:45:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![altendky](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/altendky/32/869_2.png) [@altendky](https://travis-ci.community/u/altendky)\
**Post date:** [January 3, 2019, 7:45pm UTC](https://travis-ci.community/t/disable-language-installation/1655/1 "2019-01-03T19:45:37Z")

</div>

Given that Python is only supported on Linux, not OS X or Windows, I am starting to write a Python-getter to fill this hole.

> <https://github.com/Julian/Filesystems/pull/40>

Presently I use `language: generic` and matrix across setting an env var for each Python version. I went this route since I didn’t know how to make Travis not try to install Python on OS X.

[https://travis-ci.org/Julian/Filesystems/jobs/474491484](https://travis-ci.org/Julian/Filesystems/jobs/474491484)

It would be nice to be able to use the normal `language: python` and `python:` for matrixing the Python version thus leaving the env var matrixing for it’s normal uses.

Is it possible to have the matrix built against `python:` sub entries without Travis trying to install Python for me?

Cheers,  
-kyle

---

<div class="post-metadata">

**Author:** ![BanzaiMan](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/banzaiman/32/67_2.png) [@BanzaiMan](https://travis-ci.community/u/BanzaiMan)\
**Post date:** [January 3, 2019, 9:04pm UTC](https://travis-ci.community/t/disable-language-installation/1655/2 "2019-01-03T21:04:56Z")

</div>

Build the matrix with `env` and vary your build based on that. There is no need to complicate `language: generic`.

---

<div class="post-metadata">

**Author:** ![altendky](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/altendky/32/869_2.png) [@altendky](https://travis-ci.community/u/altendky)\
**Post date:** [January 3, 2019, 9:33pm UTC](https://travis-ci.community/t/disable-language-installation/1655/3 "2019-01-03T21:33:14Z")

</div>

I only used `language: generic` because I didn’t know of another way to disable the automatic Python install step which doesn’t work on OS X (and I would guess not Windows either). I was hoping more for using `language: python` and `install_python: false`, or maybe an env var or such to disable it.

The thing about using the `env` for matrixing the Python version is that now you can’t use it for other env vars you might want to matrix against. Well, other than manually building the combinations, afaik.

The big picture is that’s it’s great that Travis supports all three major platforms (Linux, OS X, and Windows) but it’s kind of useless for the Python community since we have to do everything manually outside of Linux and lose features like the automatic matrix building.

Cheers,  
-kyle

---

<div class="post-metadata">

**Author:** ![native-api](https://sea1.discourse-cdn.com/flex015/user_avatar/travis-ci.community/native-api/32/430_2.png) [@native-api](https://travis-ci.community/u/native-api)\
**Post date:** [January 5, 2019, 4:22am UTC](https://travis-ci.community/t/disable-language-installation/1655/4 "2019-01-05T04:22:27Z")

</div>

Before writing your own solution, consider [`multibuild`](https://github.com/matthew-brett/multibuild) first.
