//-  Docs > Quickstart > Install
//- ============================================================================

+section('install')
    +h2('install')
        | Install spaCy v#{spacy_version}

    +section('install-pip-virtualenv')
        +h3('install-pip-virtualenv')
            | pip and virtualenv

        p.
            With Python 2.7 or Python 3, using Linux or OSX, ensure that you have 
            the packages #[code build-essential] and #[code python-dev] installed. 
            Then run:

        +code('bash').
            pip install spacy
            python -m spacy.en.download

        p.
            The download command fetches and installs about 500mb of data, for the 
            parser model and word vectors, which it installs within the spacy 
            package directory. Usually you'll want to install spaCy within a 
            #[a(href='https://virtualenv.readthedocs.org/en/latest/' target='_blank') virtualenv], 
            to avoid modifying system state:

        +code('bash').
            virtualenv my_env_dir
            source my_env_dir/bin/activate

    +section('install-conda')
        +h3('install-conda')
            | conda

        +code('bash').
            conda config --add channels spacy
            conda install spacy
            python -m spacy.en.download

        p.
            Sometimes conda is not up to date with the latest release. If you 
            can't get the latest version on conda, you can always fall back to the 
            pip install.

    +section('install-windows')
        +h3('install-windows')
            | Windows (64 bit)

        p.
            We've been working on Windows support. Our tests now succeed on 64 bit 
            builds of Windows. Installation from pip should work if you have a C++ 
            compiler installed. Please see the README-MSVC.txt file for instructions 
            on compiling from source.
    
    +section('install-update')
        +h3('install-update')
            | Updating your installation

        p.
            To update your installation:

        +code('bash').
            pip install --upgrade spacy
            python -m spacy.en.download

        p.
            Most updates ship a new model, so you will usually have to redownload 
            the data.


    +section('install-obsolete-python')
        +h3('install-obsolete-python')
            | Workaround for obsolete system Python

        p.
            If you're stuck using a server with an old version of Python, and you 
            don't have root access, we've prepared a bootstrap script to help you 
            compile a local Python install. Run:

        +code('bash')
            curl https://raw.githubusercontent.com/spacy-io/gist/master/bootstrap_python_env.sh | bash && source .env/bin/activate

    +section('install-compile')
        +h3('install-compile')
            | Compile from source

        p.
            The other way to install the package is to clone the github repository, 
            and build it from source. This installs an additional dependency, Cython. 
            If you're using Python 2, we also recommend installing fabric and 
            fabtools – this is how we build the project. Ensure that you have the 
            packages #[code build-essential], #[code python-dev], #[code git] and 
            #[code python-virtualenv] installed.

        +code('bash')
            git clone https://github.com/spacy-io/spaCy.git
            cd spaCy
            virtualenv .env && source .env/bin/activate
            pip install -r requirements.txt
            pip install -e .
            python -m spacy.en.download
            pip install pytest
            python -m pytest spacy

        p.
            Python packaging is awkward at the best of times, and it's particularly 
            tricky with C extensions, built via Cython, requiring large data files. 
            So, please report issues as you encounter them.

    +section('install-pypy')
        +h3('install-pypy')
            | pypy (unsupported)

        p.
            If PyPy support is a priority for you, please get in touch. We could 
            likely fix the remaining issues, if necessary. However, the library 
            is likely to be much slower on PyPy, as it's written in Cython, which 
            produces code tuned for the performance of CPython.