My Python Console shows a 'Permission Denied' Error


Why is it happening ?


On Startup Extension Pack tries to install some default settings such as Marking Menus to the User Settings Directory of Mari.

Usually the installation will target the following directories:


Linux : ~/.config/TheFoundry/
Mac : ~/.config/TheFoundry/
Windows: C:/Users/[username]/.mari/TheFoundry/


In rare cases (less than 1%) the resolved path from Extension Pack will trigger an installation into the Mari Installation directory

instead - e.g. C:\Program Files\Mari4.6v1\Bundle\Media\Settings.


If the Mari Installation Directory is protected, as is often the case in a studio deployment, this will result in a 'Permission Denied'

error in the Python Console on startup.


How can I fix this ?


Extension Pack allows you to explicitly set the User Directory Path to the Mari Settings via the included 'ResourceLocator.json' File.

Please follow the steps below to specify a different Path:



  1. Locate the 'ResourceLocator.json' File inside the Extension Pack Installation Directory



  1. Inside the 'ResourceLocator.json' File locate the Settings_Path Variable



  1. Modify the default value "Auto-Detect' to one of the following:


    • "Auto-Detect"

This is the default setting.


Extension Pack will auto detect where your Mari User Settings are stored.


    • "/myPath/mySettingsFolder"

An absolute path to a folder where Extension Pack should save its own settings to


An absolute Path to your settings folder. Please use forward slashes inside the path.


    • "~/mySettingsFolder"

A relative path to a folder inside a user directory


Paths can also contain a ~ sign to resolve a user directory


    • "$MY_ENVIRONMENT_VARIABLE"

An Environment Variable associated to a settings path


Paths can also be resolved from an Environment Variable. To use an Env Var, prefix it with a $ Sign.

Resolved paths from an Env Var can also contain a ~ sign to further resolve to a user directory.


    • "settingsPathKey"

For most users this setting is not recommended as it returns a path inside the Mari Installation Directory


Will use the User Settings Folder returned by the Python command


mari.resources.path( mari.resources.settingsPathKey())



  1. Save the json file and restart mari


  1. To restore the Location to its standard value change the value of the Settings_Path key back to "Auto-Detect"