# Installing a Canopy Common Install to work with Canopy's stand-alone Python distribution (EPD)

This option is currently available for Windows 64-bit and Linux 64-bit Canopy installations, for users with current Canopy/EPD subscriptions.

This article is focused on multi-user (common install) setups. For using EPD with single-user installations, see Configuring Canopy to run EPD as the User Python environment.

For administrative and technical background, please see "Canopy Common Install Options".

## Prep

Uninstall any existing EPD and Canopy installations on this system, including manually deleting all System and User environment directories for each administrator and user. (This deletion is not required for non-admin user accounts, but is strongly recommended to avoid future confusion.) If existing user preference settings are not precious, you can start cleaner by also deleting each user's configuration/preference directory. For details about directory locations, see Uninstalling and resetting Canopy.

EPD 7.5 (or later) full installer for Win-64 or Linux-64 from
https://store.enthought.com/repo/epd/installers/ (prior Enthought login required).

Canopy 1.6.2 (or later) standard 64-bit installer from the Canopy download page:
https://store.enthought.com/downloads. Download the standard, not full installers, because you will use EPD rather than Canopy Python as the user environment, so the extra size of a full installer would be wasted.

## Windows install

1) Open an elevated "Administrator" command prompt, as described in this Knowledge Base article: "Windows - on some systems, admin users cannot immediately install 'for all users'".

2) Create the EPD and Canopy target directories (by default, "C:\Python27" and "C:\Program Files\Enthought", respectively) with appropriate permissions. Typically you would give non-admin users read/execute access only (which would be the default for "Program Files").

3) Install EPD 7.5 or higher, with the following long one-line command, adjusting file names and paths as appropriate (usually you should set the target directory so that non-admin users have read/execute access only):

msiexec /qr /lv*x epd_msi_log.txt /i epd-7.6-3-win-x86_64.msi TARGETDIR=C:\Python27 ALLUSERS=1

This also appends the system PATH variable with c:\Python27;c:\Python27\Scripts

4) Install Canopy and set up the managed common install, with the following long one-line command, adjusting file names and paths as appropriate and making other changes as described below:

msiexec /qr /lv*x canopy-msi.log /i canopy-1.7.4-win-64.msi ALLUSERS=1 SETUP_MANAGED_COMMON_INSTALL="C:\Program Files\Enthought" SETUP_USER_PYTHON="C:\PYTHON27\pythonw.exe" SETUP_LICENSE_PATH="C:\full\path\to\my-site-license-file.enlic"

The default, and recommended, directory for installing for all users is C:\Program Files\Enthought. To install Canopy for all users into a different directory, specify it with option APPLICATIONFOLDER="<wherever>", and modify option SETUP_MANAGED_COMMON_INSTALL to point to the same directory. (Note that if you do this, and then later uninstall Canopy, you will need to again explicitly specify to msiexec, the same APPLICATIONFOLDER; this requirement should be removed in a future release, with a smarter uninstaller.)

If you do have a license file (see Download, above), substitute its filename and current location (typically a download dir) above. If you don't, then omit the option SETUP_LICENSE_PATH="..."

For more details about these options, see the article "Canopy CLI post-install-setup options".

The directory structure in this example would be:

C:\Program Files\Enthought\Canopy\
|- App    # Level 0 - Canopy Core
|- System # Level 1 - Canopy GUI application

5) Users may start Canopy from the Desktop shortcut, or from the command line with:

C:\Program Files\Enthought\Canopy\App\Canopy.exe

Warning: Because of Windows idiosyncrasies, it's essential that you not put a closing backslash character at the end of any of the paths which you pass to msiexec.

If Canopy fails to start, with an error message about the kernel interpreter, then you've probably specified the "--user-python" (or SETUP_USER_PYTHON) option incorrectly.

## Linux install

Note: To avoid any conflict with system Python, this installation and setup is done almost entirely not as root, but rather by a user whom we will call "admin" for the purpose of installing and maintaining the Canopy system-wide installation. Depending on your target directories, you may need to run as root briefly to create the target directories and set their group and owners so that "admin" will have full write access to them, and all other Canopy users will have read and execute access.  Do not stay as root for the installation and setup steps which follow. (Although for a server-based installation by knowledgeable IT staff, you may choose to perform the entire installation as root.)

1) Install EPD 7.5 or higher, adjusting file names and paths as appropriate (usually you should set the target directory so that non-admin users have read/execute access only):

sudo mkdir /opt/epd76/sudo chown admin /opt/epd76/bash epd-7.6-3-rh5-x86_64.sh -bp /opt/epd76/

2) Install Canopy Core, adjusting file names and paths as appropriate:

sudo mkdir /opt/Canopy/sudo chown admin /opt/Canopy/bash canopy-1.7.4-rh5-64.sh -bp /opt/Canopy/Core/

3) Set up the Canopy managed common install with the following long one-line command, adjusting file names and paths as appropriate:

/opt/Canopy/Core/canopy_cli post-install-setup --managed-common-install=/opt/Canopy/ --user-python=/opt/epd76/bin/python --license-path=/full/path/to/my-site-license-file.enlic"

If you do not have a Canopy site license, omit the option --license-path=...

For more details about these options, see the article "Canopy CLI post-install-setup options".

The directory structure in this example would be:

/opt/Canopy
|- Core         # Level 0 - Canopy Core
|- Canopy_64bit
|- System  # Level 1 - Canopy GUI application

4) Users may start the Canopy GUI with:

/opt/Canopy/Core/canopy

If Canopy fails to start, with an error message about the kernel interpreter, then you've probably specified the "--user-python" option incorrectly.

Please email comments and questions as followup to relevant existing support tickets, or by email to canopy.support@enthought.com.