The Canopy Command Line interface (CLI) includes powerful features for system administrators to create multi-user and automated Canopy installations.
This article describes the most frequent use of the CLI -- the "managed common install", for sharing an installation efficiently among multiple users.
The managed common install provides all users with the same Python environment, managed by system administration. This is well suited to production environments, classrooms, and other institutions that wish to ensure a uniform set of packages for all users.
The key advantages of a managed common install, in contrast to a default shared installation with multiple users, are:
- Updating library packages is done by the central administrator on behalf of all users (rather than by each individual user). This is particularly useful when the users are not skilled Python developers or when you want all users to use the same package versions.
- System administrators can update the Canopy package set without assessing whether it is necessary to clean out the superseding environments of individual users.
- System administrators can update the Canopy GUI application without being superseded by individual users.
- Canopy's footprint in the home directories of individual users is very light (Just configuration, preference, log, and macro script files, typically occupying less than 1 MB, mostly log files). This is because the Python environments which Canopy creates for each user are nonexistent for a managed common install; compare this to hundreds or thousands of MB per user with a default multi-user installation. This is particularly useful when there are constraints on the size of user home directories (roaming profiles or limited disk storage).
Limitations of a Managed Common Install
In a Managed Common Install, non-admin users will not be able to modify anything within Canopy's Python environments because they are located in the "Program Files" directory. Therefore the following features of Canopy will behave differently for non-admin users:
- Non-admin users are not able to install, update, or remove packages (whether through the Canopy Package Manager or at the command line).
- Non-admin users cannot use the Preferences => Python => Environments options to create, modify, or delete Canopy Python environments. Non-admin users are able to switch between admin-defined environments.
Managed Common Install Environments
A standard managed common install has a User environment and optionally additional Canopy Python environments, both Python 2.7 and 3.5, just as in a default individual Canopy installation. The difference is that these environments are managed by system admin, and are available for direct use, but not modification, by individual users.
As an additional option, a managed common install can be configured so that the Canopy User environment is replaced by a stand-alone Python environment installed separately by the Enthought Deployment Manager (EDM), or by an Enthought Python Distribution (EPD) installer. This configuration completely separates the maintenance of the user's Python & packages, from maintenance of the Canopy GUI application, while still allowing user scripts to run on the stand-alone Python environment, from within the Canopy GUI. [There is not yet an EPD version compatible with the Canopy 2 Package Manager, but this is forthcoming, or you can use an existing version of EPD without using the Package Manager with it.]
Open Common Install not supported in Canopy 2
Canopy 2 does not support the previously allowed "open common install" option which permitted users to update or install their own packages on top of a managed base installation. Other options that facilitate this kind of functionality are planned for later versions of Canopy 2.
The Managed Common install is created using the Canopy CLI's "post-install-setup" command, described in "Canopy 2 CLI post-install-setup options".
Note: Just as an admin must "Run as administrator" to create a Managed Common Install, they must also "Run as administrator" before making any changes to multiple Canopy Python environments in the Managed Common Install.
Step-by-step procedures for the most frequently encountered scenarios:
For institutional sysadmins: As described above, you can also configure a Canopy Managed Common Install to use an independently installed Python environment.
Please do not enter support requests in article comments
Please use article comments for suggestions to improve the article. See "How to submit Enthought Canopy/EPD support requests".