# How to use local, relative modules (best practice, simple)?

**URL:** <https://discourse.julialang.org/t/how-to-use-local-relative-modules-best-practice-simple/81634>\
**Category:** New to Julia\
**Tags:** question, modules, code-organization\
**Created:** [May 25, 2022, 6:31am UTC](https://discourse.julialang.org/t/how-to-use-local-relative-modules-best-practice-simple/81634 "2022-05-25T06:31:14Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![skleinbo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/skleinbo/32/36080_2.png) [@skleinbo](https://discourse.julialang.org/u/skleinbo)\
**Post date:** [May 25, 2022, 8:15am UTC](https://discourse.julialang.org/t/how-to-use-local-relative-modules-best-practice-simple/81634/4 "2022-05-25T08:15:09Z")

</div>

You have probably searched around already, but here is a post and links therein that is a recommended read [Best practise: organising code in Julia - #2 by stevengj](https://discourse.julialang.org/t/best-practise-organising-code-in-julia/74362/2)

To Julia, files and modules are two very different things. A file can define multiple or no modules at all. A module can span multiple files.

That said, I have `export JULIA_LOAD_PATH=".:$JULIA_LOAD_PATH"` in my shell profile. With that, `import X` will look for a file `X.jl` in the directory from which Julia was launched and load the module therein defined. That mimics Python’s behavior I think.  
Discovery is case-sensitive, so you would need to rename `helper.jl -> Helper.jl`.

---

_[View the full topic](https://discourse.julialang.org/t/how-to-use-local-relative-modules-best-practice-simple/81634)._
