diff --git a/ihaskell.cabal b/ihaskell.cabal
--- a/ihaskell.cabal
+++ b/ihaskell.cabal
@@ -7,7 +7,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.7.0.3
+version:             0.7.1.0
 
 -- A short (one-line) description of the package.
 synopsis:            A Haskell backend kernel for the IPython project.
diff --git a/main/Main.hs b/main/Main.hs
--- a/main/Main.hs
+++ b/main/Main.hs
@@ -100,6 +100,8 @@
       kernelSpecOpts { kernelSpecDebug = True }
     addFlag kernelSpecOpts (GhcLibDir libdir) =
       kernelSpecOpts { kernelSpecGhcLibdir = libdir }
+    addFlag kernelSpecOpts (KernelspecInstallPrefix prefix) =
+      kernelSpecOpts { kernelSpecInstallPrefix = Just prefix }
     addFlag kernelSpecOpts flag = error $ "Unknown flag" ++ show flag
 
 -- | Run the IHaskell language kernel.
diff --git a/src/IHaskell/Flags.hs b/src/IHaskell/Flags.hs
--- a/src/IHaskell/Flags.hs
+++ b/src/IHaskell/Flags.hs
@@ -37,6 +37,7 @@
               | ConvertFromFormat NotebookFormat
               | ConvertToFormat NotebookFormat
               | ConvertLhsStyle (LhsStyle String)
+              | KernelspecInstallPrefix String
   deriving (Eq, Show)
 
 data LhsStyle string =
@@ -103,6 +104,10 @@
 confFlag = flagReq ["conf", "c"] (store ConfFile) "<rc.hs>"
              "File with commands to execute at start; replaces ~/.ihaskell/rc.hs."
 
+installPrefixFlag :: Flag Args
+installPrefixFlag = flagReq ["prefix"] (store KernelspecInstallPrefix) "<install-dir>"
+                      "Installation prefix for kernelspec (see Jupyter's --prefix option)"
+
 helpFlag = flagHelpSimple (add Help)
 
 add flag (Args mode flags) = Args mode $ flag : flags
@@ -113,7 +118,7 @@
 installKernelSpec :: Mode Args
 installKernelSpec =
   mode "install" (Args InstallKernelSpec []) "Install the Jupyter kernelspec." noArgs
-    [ghcLibFlag, kernelDebugFlag, confFlag, helpFlag]
+    [ghcLibFlag, kernelDebugFlag, confFlag, installPrefixFlag, helpFlag]
 
 kernel :: Mode Args
 kernel = mode "kernel" (Args (Kernel Nothing) []) "Invoke the IHaskell kernel." kernelArg
diff --git a/src/IHaskell/IPython.hs b/src/IHaskell/IPython.hs
--- a/src/IHaskell/IPython.hs
+++ b/src/IHaskell/IPython.hs
@@ -46,6 +46,7 @@
          { kernelSpecGhcLibdir :: String           -- ^ GHC libdir.
          , kernelSpecDebug :: Bool                 -- ^ Spew debugging output?
          , kernelSpecConfFile :: IO (Maybe String) -- ^ Filename of profile JSON file.
+         , kernelSpecInstallPrefix :: Maybe String
          }
 
 defaultKernelSpecOptions :: KernelSpecOptions
@@ -53,6 +54,7 @@
   { kernelSpecGhcLibdir = GHC.Paths.libdir
   , kernelSpecDebug = False
   , kernelSpecConfFile = defaultConfFile
+  , kernelSpecInstallPrefix = Nothing
   }
 
 -- | The IPython kernel name.
@@ -201,8 +203,9 @@
 
     Just ipython <- SH.which "ipython"
     let replaceFlag = ["--replace" | replace]
-        cmd = ["kernelspec", "install", "--user", kernelDir] ++ replaceFlag
-    SH.silently $ SH.run ipython (map SH.toTextIgnore cmd)
+        installPrefixFlag = maybe ["--user"] (\prefix -> ["--prefix", T.pack prefix]) (kernelSpecInstallPrefix opts)
+        cmd = concat [["kernelspec", "install"], installPrefixFlag, [SH.toTextIgnore kernelDir], replaceFlag]
+    SH.silently $ SH.run ipython cmd
 
 kernelSpecCreated :: SH.Sh Bool
 kernelSpecCreated = do
