# How to separate module environment from package environment

**URL:** https://discourse.julialang.org/t/how-to-separate-module-environment-from-package-environment/101568
**Category:** General Usage
**Tags:** question, package, module, environment
**Created:** [July 13, 2023, 9:06am UTC](https://discourse.julialang.org/t/how-to-separate-module-environment-from-package-environment/101568 "2023-07-13T09:06:39Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Titas22](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/titas22/32/39209_2.png) [@Titas22](https://discourse.julialang.org/u/Titas22)
#### Post date: [July 13, 2023, 9:06am UTC](https://discourse.julialang.org/t/how-to-separate-module-environment-from-package-environment/101568/1 "2023-07-13T09:06:39Z")

</div>

Hi,

Is there a way to nicely and easily separate a development environment from the actual package one?

Say I’m working on a small module and to test it I want to use it either in REPL or a scrip and I want to use Revise.jl to not have to restart the session all the time.

If I add it via `] add Revise` it will end up in the packages `Project.toml` file which I don’t really want since the package itself doesn’t need that as a dependency.

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [July 13, 2023, 9:13am UTC](https://discourse.julialang.org/t/how-to-separate-module-environment-from-package-environment/101568/2 "2023-07-13T09:13:10Z")

</div>

An easy approach is to create a shared environment that is different from your default `v1.9`, for instance `pkg> activate @playground`, and then `pkg> dev` your package into it.

> [@How should I use Revise.jl (and other developer tools) to develop a package?](https://discourse.julialang.org/t/how-should-i-use-revise-jl-and-other-developer-tools-to-develop-a-package/101344/):
>
> When I create a new package, I often want BenchmarkTools, Revise, and other dependencies that are accessible within my package’s environment, but won’t be added as dependencies for users. I’ve tried playing around with [extras], but I have not been able to replicate this usage. How are folks using Revise when developing a package? Are you adding Revise as a dependency, then removing it before you commit?
