Commit 419ffbde authored by Gan Quan's avatar Gan Quan Committed by Minjie Wang
Browse files

[Doc] Installation guide (#223)

* docstrings for graph mutation & queries

* [Doc] contrib.sampler. (#200)

* subgraph docs

* updates

* added installation guide

* style fix

* package name fixes

* adding it back...

* fix as requested

* adding link

* mac os build instructions

* OS -> macOS
parent b0c76d48
Install DGL Install DGL
============ ============
At this stage, we recommend installing DGL from source. To quickly try out DGL and its demo/tutorials, checkout `Install from docker`_. At this stage, we recommend installing DGL from ``conda`` or ``pip``.
Get source codes System requirements
-------------------
Currently DGL is tested on
* Ubuntu 16.04
* macOS X
* Windows 7
DGL is expected to work on all Linux distributions later than Ubuntu 16.04, macOS X, and
Windows 7 or later.
DGL also requires the Python version to be 3.5 or later. Python 3.4 or less is not
tested, and Python 2 support is coming.
DGL supports multiple tensor libraries (e.g. PyTorch, MXNet) as backends; refer
`Working with different backends`_ for requirements on backends and how to select a
backend.
Install from conda
----------------------
One can either grab `miniconda <https://conda.io/miniconda.html>`_ or
the full `anaconda <https://www.anaconda.com/download/>`_ if ``conda``
has not been installed.
Once the conda environment is activated, run
.. code:: bash
conda install -c dglteam dgl
Install from pip
---------------- ----------------
First, download the source files from github. Note you need to use the ``--recursive`` option to One can simply run the following command to install via ``pip``:
also clone the submodules.
.. code:: bash
pip install dgl
Working with different backends
-------------------------------
Currently DGL supports PyTorch and MXNet.
Switching backend
`````````````````
The backend is controlled by ``DGLBACKEND`` environment variable, which defaults to
``pytorch``. Currently it supports the following values:
+---------+---------+--------------------------------------------------+
| Value | Backend | Memo |
+=========+=========+==================================================+
| pytorch | PyTorch | Requires 0.4.1 or later; see |
| | | `official website <https://pytorch.org>`_ |
+---------+---------+--------------------------------------------------+
| mxnet | MXNet | Requires nightly build; run the following |
| | | command to install (TODO): |
| | | |
| | | .. code:: bash |
| | | |
| | | pip install --pre mxnet |
+---------+---------+--------------------------------------------------+
| numpy | NumPy | Does not support gradient computation |
+---------+---------+--------------------------------------------------+
Install from source
-------------------
First, download the source files from GitHub:
.. code:: bash .. code:: bash
git clone --recursive https://github.com/jermainewang/dgl.git git clone --recursive https://github.com/jermainewang/dgl.git
You can also clone the repository first and type following commands: One can also clone the repository first and run the following:
.. code:: bash .. code:: bash
git submodule init git submodule init
git submodule update git submodule update
Linux
`````
Build shared library Install the system packages for building the shared library, for Debian/Ubuntu
-------------------- users, run:
Before building the library, please make sure the following dependencies are installed
(use ubuntu as an example):
.. code:: bash .. code:: bash
sudo apt-get update sudo apt-get update
sudo apt-get install -y python sudo apt-get install -y build-essential build-dep python3-dev make cmake
We use cmake (minimal version 2.8) to build the library. For Fedora/RHEL/CentOS users, run:
.. code:: bash
sudo yum install -y gcc-c++ python3-devel make cmake
Build the shared library and install the Python binding afterwards:
.. code:: bash .. code:: bash
...@@ -38,57 +108,65 @@ We use cmake (minimal version 2.8) to build the library. ...@@ -38,57 +108,65 @@ We use cmake (minimal version 2.8) to build the library.
cd build cd build
cmake .. cmake ..
make -j4 make -j4
cd ../python
python setup.py install
Build python binding macOS
-------------------- `````
DGL's python binding depends on following packages (tested version):
* numpy (>= 1.14.0) Installation on macOS is similar to Linux. But macOS users need to install
* scipy (>= 1.1.0) building tools like clang, GNU Make, cmake first.
* networkx (>= 2.1)
To install them, use following command: Tools like clang and GNU Make are packaged in **Command Line Tools** for macOS. To
install:
.. code:: bash .. code:: bash
pip install --user numpy scipy networkx xcode-select --install
To install other needed packages like cmake, we recommend first installing
**Homebrew**, which is a popular package manager for macOS. Detailed
instructions can be found on its `homepage <https://brew.sh/>`_.
There are several ways to setup DGL's python binding. We recommend developers at the current stage After installation of Homebrew, install cmake by:
use environment variables to find python packages.
.. code:: bash .. code:: bash
export DGL_HOME=/path/to/dgl brew install cmake
export PYTHONPATH=${DGL_HOME}/python:${PYTHONPATH}
export DGL_LIBRARY_PATH=${DGL_HOME}/build
The ``DGL_LIBRARY_PATH`` variable is used for our python package to locate the shared library Then go to root directory of DGL repository, build shared library and
built above. Use following command to test whether the installation is successful or not. install Python binding for DGL:
.. code:: bash .. code:: bash
python -c 'import dgl' mkdir build
cd build
cmake ..
make -j4
cd ../python
python setup.py install
Install from docker We tested installation on macOS X with clang 10.0.0, GNU Make 3.81, and cmake
------------------- 3.13.1.
TBD
Windows
```````
Install on Windows/MinGW Currently Windows source build is tested with CMake and MinGW/GCC. We highly recommend
------------------------ using CMake and GCC from `conda installations <https://conda.io/miniconda.html>`_. To
Make sure you have the following installed: do so, run
* CMake .. code:: bash
* MinGW/GCC (G++)
* MinGW/Make
You can grab them from Anaconda. conda install cmake m2w64-gcc m2w64-make
In the command line prompt, run: Then build the shared library and install the Python binding:
.. code:: bash .. code::
md build md build
cd build cd build
cmake -DCMAKE_CXX_FLAGS="-DDMLC_LOG_STACK_TRACE=0 -DTVM_EXPORTS" -DCMAKE_MAKE_PROGRAM=mingw32-make .. -G "MSYS Makefiles" cmake -DCMAKE_CXX_FLAGS="-DDMLC_LOG_STACK_TRACE=0 -DTVM_EXPORTS" -DCMAKE_MAKE_PROGRAM=mingw32-make .. -G "MSYS Makefiles"
mingw32-make mingw32-make
set DGL_LIBRARY_PATH=%CD% cd ..\python
python setup.py install
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment