# How to use ArgParse with Distributed (error calling from inside main)?

**URL:** <https://discourse.julialang.org/t/how-to-use-argparse-with-distributed-error-calling-from-inside-main/57902>\
**Category:** General Usage\
**Tags:** question, distributed\
**Created:** [March 25, 2021, 12:51am UTC](https://discourse.julialang.org/t/how-to-use-argparse-with-distributed-error-calling-from-inside-main/57902 "2021-03-25T00:51:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkarikom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkarikom/32/7096_2.png) [@mkarikom](https://discourse.julialang.org/u/mkarikom)\
**Post date:** [March 25, 2021, 12:51am UTC](https://discourse.julialang.org/t/how-to-use-argparse-with-distributed-error-calling-from-inside-main/57902/1 "2021-03-25T00:51:24Z")

</div>

For some reason I can’t get a basic example of this working:

### File: testargs.jl

```julia-auto
# example 1: minimal options/arguments, auto-generated help/version

using ArgParse

function main(args)

    s = ArgParseSettings("Run deconvolution: " * # description
                         "flags, options help, " *
                         "required arguments.")

    @add_arg_table! s begin
        "--opt1"
            help = "an option" # used by the help screen
        "--opt2", "-o"
            action = :store_true # this makes it a flag
            help = "a flag"
        "arg1"
            help = "an argument"
            required = true # makes the argument mandatory
    end

    parsed_args = parse_args(args, s)
    println("Parsed args:")
    for (key,val) in parsed_args
        println(" $key => $(repr(val))")
    end
    using Distributed
    addprocs(4)
    @everywhere using StatsBase
end

main(ARGS)

```

Run:

```julia-auto
$ julia testargs.jl 
ERROR: LoadError: LoadError: UndefVarError: @everywhere not defined

```

---

<div class="post-metadata">

**Author:** ![mkarikom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkarikom/32/7096_2.png) [@mkarikom](https://discourse.julialang.org/u/mkarikom)\
**Post date:** [March 25, 2021, 12:57am UTC](https://discourse.julialang.org/t/how-to-use-argparse-with-distributed-error-calling-from-inside-main/57902/2 "2021-03-25T00:57:15Z")

</div>

move using outside the function:

```julia
# example 1: minimal options/arguments, auto-generated help/version
using Distributed
using ArgParse
@everywhere using StatsBase

function main(args)

    s = ArgParseSettings("Run deconvolution: " * # description
                         "flags, options help, " *
                         "required arguments.")

    @add_arg_table! s begin
        "--opt1"
            help = "an option" # used by the help screen
        "--opt2", "-o"
            action = :store_true # this makes it a flag
            help = "a flag"
        "arg1"
            help = "an argument"
            required = true # makes the argument mandatory
    end

    parsed_args = parse_args(args, s)
    println("Parsed args:")
    for (key,val) in parsed_args
        println(" $key => $(repr(val))")
    end
    addprocs(4)
end

main(ARGS)

```
