# Why can I import a package not in my environment?

**URL:** <https://discourse.julialang.org/t/why-can-i-import-a-package-not-in-my-environment/119799>\
**Category:** Package Management\
**Tags:** package, environment\
**Created:** [September 24, 2024, 8:25am UTC](https://discourse.julialang.org/t/why-can-i-import-a-package-not-in-my-environment/119799 "2024-09-24T08:25:58Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/224680_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [September 24, 2024, 8:32am UTC](https://discourse.julialang.org/t/why-can-i-import-a-package-not-in-my-environment/119799/2 "2024-09-24T08:32:51Z")

</div>

Yes, the default environment is accessible from every other environment, see this thread for more details:

> [@How does environment stacking work?](https://discourse.julialang.org/t/how-does-environment-stacking-work/64635/3):
>
> As @fbanning showed, the standard LOAD\_PATH has three values. @stdlib is the standard library, @v#.# is the base environment of your Julia version (v1.6 for Julia 1.6 for instance, where added packages live that weren’t added in an activated environment) and @ refers to the currently activated environment if there is any. So when you call import or using, Julia goes through those sources in order to find the package to load, starting with a possibly activated local environment, then checking the…

The best practice is therefore to have basically nothing in the default environment, except pure development tools (Revise.jl, Cthulhu.jl, JET.jl, BenchmarkTools.jl, etc.)

---

_[View the full topic](https://discourse.julialang.org/t/why-can-i-import-a-package-not-in-my-environment/119799)._
