# Installation

Wand itself can be installed from PyPI using pip:

    $ pip install Wand

Wand is a Python binding of ImageMagick, so you have to install it as well:

- Debian/Ubuntu

- Fedora/CentOS

- Mac

- Windows

- Explicitly link to specific ImageMagick

Or you can simply install Wand and its entire dependencies using the package manager of your system (it’s way convenient but the version might be outdated):

- Debian/Ubuntu

- Fedora

- FreeBSD

- Alpine

## Install ImageMagick on Debian/Ubuntu

If you’re using Linux distributions based on Debian like Ubuntu, it can be easily installed using APT:

    $ sudo apt-get install libmagickwand-dev

## Install ImageMagick on Fedora/CentOS

If you’re using Linux distributions based on Redhat like Fedora or CentOS, it can be installed using Yum:

    $ yum update
    $ yum install ImageMagick-devel

## Install ImageMagick on Mac

You need one of Homebrew or MacPorts to install ImageMagick.

Homebrew

      $ brew install imagemagick

MacPorts

      $ sudo port install imagemagick

  If your Python in not installed using MacPorts, you have to export `MAGICK_HOME` path as well. Because Python that is not installed using MacPorts doesn’t look up `/opt/local`, the default path prefix of MacPorts packages.

      $ export MAGICK_HOME=/opt/local

## Install ImageMagick on Windows

You could build ImageMagick by yourself, but it requires a build tool chain like Visual Studio to compile it. The easiest way is simply downloading a prebuilt binary of ImageMagick for your architecture (`win32` or `win64`).

You can download it from the following link:

https://imagemagick.org/script/download.php#windows

Choose a binary for your architecture:

Windows 32-bit

  ImageMagick-7.0.x-x-Q16-x86-dll.exe

Windows 64-bit

  ImageMagick-7.0.x-x-Q16-HDRI-x64-dll.exe

Note

Double check your Python runtime, and ensure the architectures match. A 32-bit Python runtime can not load a 64-bit dynamic library.

Note that you have to check Install development headers and libraries for C and C++ to make Wand able to link to it.

Lastly you have to set `MAGICK_HOME` environment variable to the path of ImageMagick (e.g. `C:\Program Files\ImageMagick-6.9.3-Q16`). You can set it in Computer ‣ Properties ‣ Advanced system settings ‣ Advanced ‣ Environment Variables….

## Explicitly link to specific ImageMagick

Although Wand tries searching operating system’s standard library paths for a ImageMagick installation, sometimes you need to explicitly specify the path of ImageMagick installation.

In that case, you can give the path to Wand by setting `MAGICK_HOME`. Wand respects `MAGICK_HOME`, the environment variable which has been reserved by ImageMagick.

## Explicitly define ImageMagick library suffix

Added in version 0.5.8.

Wand will attempt to load all popular combinations of ImageMagick’s shared library suffixes. By default, the library suffix would follow a pattern similar to:

                 ~~~~~~~~~~      Library Suffix
    libMagickWand-7.Q16HDRI.so
                 ~~              Major version number. Can be blank, 6, or 7.
                    ~~~          Magick Quantum. Can be blank, Q8, or Q16.
                       ~~~~      Optional HDRI-Support. Can be blank, or HDRI

If you have compiled ImageMagick with custom suffixes, you can tell the Wand module how to search for it by setting `MAGICK_HOME`, like above, and `WAND_MAGICK_LIBRARY_SUFFIX` environment variables.

The `WAND_MAGICK_LIBRARY_SUFFIX` would be a semicolon delimited list

    $ export WAND_MAGICK_LIBRARY_SUFFIX="-7.Q32;-7.Q32HDRI;.Q32HDRI;.Q32"
    $ python3 wand_app.py

## Install Wand on Debian/Ubuntu

Wand itself is already packaged in Debian/Ubuntu APT repository: python-wand. You can install it using apt-get command:

    $ sudo apt-get install python-wand

## Install Wand on Fedora

Wand itself is already packaged in Fedora package DB: python-wand. You can install it using dnf command:

    $ dnf install python-wand   # Python 2
    $ dnf install python3-wand  # Python 3

## Install Wand on FreeBSD

Wand itself is already packaged in FreeBSD ports collection: py-wand. You can install it using pkg_add command:

    $ pkg_add -r py-wand

## Install Wand on Alpine

Wand can be installed on Alpine Linux with pip, but due to the security nature of Alpine, `MAGICK_HOME` must be defined before running any Wand applications.

    # apk add imagemagick
    # pip install Wand
    # export MAGICK_HOME=/usr

You may need to create a couple symbolic links for the ImageMagick libraries.

    # ln -s /usr/lib/libMagickCore-7.Q16HDRI.so.9 /usr/lib/libMagickCore-7.Q16HDRI.so
    # ln -s /usr/lib/libMagickWand-7.Q16HDRI.so.9 /usr/lib/libMagickWand-7.Q16HDRI.so