The minimum requirements are:
- python 2.7
- glibc >= 2.12 (Centos >= 6, Ubuntu >= 10.10)
- For Neural Network support, glibc >= 2.17 is needed. Centos >= 7 and Ubuntu >= 13.04
- libstdc++ >= 6.0.21
- libblas
- liblapack
On recent versions of Ubuntu, we just need a few dependencies
sudo apt-get install -y libblas3 liblapack3 libstdc++6 python-setuptools
sudo easy_install pip
sudo pip install virtualenv
To avoid making system changes, we are going to do everything in a virtualenv
cd $HOME
virtualenv venv
Activate the virtualenv
cd venv
source bin/activate
Install turicreate
pip install --upgrade pip
pip install turicreate
On older versions, we need to get a newer installation of libstdc++. This should work up to Ubuntu 14.04
sudo apt-get -y install libblas3 liblapack3 python-setuptools
wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/gcc-5-base_5.4.0-6ubuntu1~16.04.4_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb
sudo dpkg -i gcc-5-base_5.4.0-6ubuntu1~16.04.4_amd64.deb
sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb
sudo easy_install pip
sudo pip install virtualenv
To avoid making system changes, we are going to do everything in a virtualenv
cd $HOME
virtualenv venv
Activate the virtualenv
cd venv
source bin/activate
Install turicreate
pip install --upgrade pip
pip install turicreate
(Tested on Ubuntu 12.04)
Compiling gcc from source is necessary here. You can download any version of gcc >= 5 from https://gcc.gnu.org
sudo apt-get install gcc g++
cd ~
wget https://mirrors-usa.go-parts.com/gcc/releases/gcc-7.2.0/gcc-7.2.0.tar.gz
tar -xzvf gcc-7.2.0.tar.gz
cd gcc-7.2.0
contrib/download_prerequisites
./configure --disable-multilib --enable-languages=c,c++ --disable-bootstrap
make
sudo make install
Every time you open a new bash session, you should run the following commands.You could put them in ~/.bashrc for convenience.
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
To avoid making system changes, we are going to do everything in a virtualenv
cd $HOME
virtualenv venv
Activate the virtualenv
cd venv
source bin/activate
Install turicreate
pip install --upgrade pip
pip install turicreate
First we obtain the basic dependencies
sudo yum install -y blas lapack
sudo easy_install pip
sudo pip install virtualenv
We will need to get a newer libstdc++ from a package in the Nux Dextop repo.
wget ftp://ftp.pbone.net/mirror/li.nux.ro/download/nux/dextop/el6/x86_64/chrome-deps-stable-3.11-1.x86_64.rpm
sudo rpm -i --badreloc --noscripts --relocate /opt/google/chrome=$HOME chrome-deps-stable-3.11-1.x86_64.rp
This will install libstdc++.so into $HOME/lib. Alternatively, you can compile gcc >= 5.4 from source.
Every time you open a new bash session, you should run the following commands.You could put them in ~/.bashrc for convenience.
export LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH
To avoid making system changes, we are going to do everything in a virtualenv
cd $HOME
virtualenv venv
Activate the virtualenv
cd venv
source bin/activate
Install turicreate
pip install --upgrade pip
pip install turicreate
The situation with Centos 6 is somewhat complicated since Centos 6 ships with Python 2.6 which is not compatible. We also need to be obtaining a recent version of libstdc++.
Basically, what you need is
- Install Python 2.7
- Obtain a recent libstdc++
We can get it from the centos-release-SCL repository:
sudo yum install -y centos-release-SCL
sudo yum install -y python27
Alternatively, if you compile Python 2.7 from source, you must configure
with --enable-unicode=ucs4
and --enable-shared
, and we recommend --with-suffix=2.7 to avoid name
collisions.
To check if your Python has the correct unicode version:
# When built with --enable-unicode=ucs4:
>>> import sys
>>> print sys.maxunicode
1114111
# When built with --enable-unicode=ucs2:
>>> import sys
>>> print sys.maxunicode
65535
We can find it in a package in the Nux Dextop repo.
wget ftp://ftp.pbone.net/mirror/li.nux.ro/download/nux/dextop/el6/x86_64/chrome-deps-stable-3.11-1.x86_64.rpm
sudo rpm -i --badreloc --noscripts --relocate /opt/google/chrome=$HOME chrome-deps-stable-3.11-1.x86_64.rpm
This will install libstdc++.so into $HOME/lib. Alternatively, you can compile gcc >= 5.4 from source.
sudo yum install -y blas lapack
Every time you open a new bash session, you should run the following commands.You could put them in ~/.bashrc for convenience.
export LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH
scl enable python27 bash
To avoid making system changes, we are going to do everything in a virtualenv
cd $HOME
virtualenv-2.7 venv
Activate the virtualenv
cd venv
source bin/activate
We now need upgrade pip
pip2.7 install --upgrade pip
pip install turicreate
(The second 'pip' command runs the newer pip inside of the virtualenv.)