# Using a manually downloaded package

**URL:** https://discourse.julialang.org/t/using-a-manually-downloaded-package/66800
**Category:** New to Julia
**Tags:** question, package
**Created:** [August 22, 2021, 11:28am UTC](https://discourse.julialang.org/t/using-a-manually-downloaded-package/66800 "2021-08-22T11:28:51Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Valery](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/valery/32/21803_2.png) [@Valery](https://discourse.julialang.org/u/Valery)
#### Post date: [August 22, 2021, 11:28am UTC](https://discourse.julialang.org/t/using-a-manually-downloaded-package/66800/1 "2021-08-22T11:28:51Z")

</div>

I recently manually downloaded a package for Julia. Where should I put the folder ? (I would prefer to put the package in the working directory in my situation). Then, how should I “include/import/using” it ? At the moment, the Touchstone package is considered as not defined.

Specific info: the package I am trying to use is [Touchstone.jl](https://github.com/mpichl87/Touchstone.jl). I put it in the working directory (directory of the `Main` module).

```julia
module Main
import .Touchstone
Touchstone.parse_touchstone_file(joinpath(@ __DIR__ , "sparam.s24p" ))
end

```

```julia
WARNING: replacing module Main.
WARNING: could not import Main.Touchstone into Main
ERROR: UndefVarError: Touchstone not defined
Stacktrace:
 [1] top-level scope at REPL[2]:4

```

---

<div class="post-metadata">

### Author: ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)
#### Post date: [August 22, 2021, 11:34am UTC](https://discourse.julialang.org/t/using-a-manually-downloaded-package/66800/2 "2021-08-22T11:34:39Z")

</div>

I would recommend that you just do the following:

```julia
julia> import Pkg

julia> Pkg.add(url = "https://github.com/mpichl87/Touchstone.jl")

julia> import Touchstone

```

---

<div class="post-metadata">

### Author: ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)
#### Post date: [August 22, 2021, 4:17pm UTC](https://discourse.julialang.org/t/using-a-manually-downloaded-package/66800/3 "2021-08-22T16:17:35Z")

</div>

An easier way (and to remember) is just, after typing `]`:

```julia
(@v1.6) pkg> add https://github.com/mpichl87/Touchstone.jl

```

> [@dilumaluthge](#):
>
> `julia> import Touchstone`

then I just use `using`, isn’t that the preferred way? I rarely use `import` at least not instead, is that better in this case?

---

<div class="post-metadata">

### Author: ![Valery](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/valery/32/21803_2.png) [@Valery](https://discourse.julialang.org/u/Valery)
#### Post date: [August 23, 2021, 6:43am UTC](https://discourse.julialang.org/t/using-a-manually-downloaded-package/66800/4 "2021-08-23T06:43:10Z")

</div>

From my little experience, it depends on your project. I would typically `import` all the .jl I have personally written, such that it is evident when I call a function from them: `myJuliaModule.myFunction()`, and it does not conflict with anything else.
