# Precompile error with PlotlyJS and DataFrames

**URL:** https://discourse.julialang.org/t/precompile-error-with-plotlyjs-and-dataframes/102523
**Category:** General Usage
**Tags:** precompilation, modules
**Created:** [August 5, 2023, 8:45pm UTC](https://discourse.julialang.org/t/precompile-error-with-plotlyjs-and-dataframes/102523 "2023-08-05T20:45:22Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jekyllstein](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jekyllstein/32/4157_2.png) [@jekyllstein](https://discourse.julialang.org/u/jekyllstein)
#### Post date: [August 5, 2023, 8:45pm UTC](https://discourse.julialang.org/t/precompile-error-with-plotlyjs-and-dataframes/102523/1 "2023-08-05T20:45:22Z")

</div>

I have a package that won’t successfully precompile because one of the plot methods in PlotlyBase that is extended to DataFrames isn’t recognized during precompilation. The package has the following Project.toml

```toml
name = "PlotlyDFTest"
uuid = "cb693c1a-2323-4e7d-a59f-d847e178de62"
authors = *********
version = "0.1.0"

[deps]
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a"
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"

```

and the module source file is:

```julia
module PlotlyDFTest

using PrecompileTools, Reexport

@reexport using DataFrames, PlotlyJS

@setup_workload begin
        df = DataFrame(x = rand(10), y = rand(10))
        @compile_workload begin
                t = scatter(df; x = :x, y = :y, mode = "markers")
                plot(t)
        end
end

end # module PlotlyDFTest

```

When I try using this package I get the following error:

```julia
julia> using PlotlyDFTest
Precompiling PlotlyDFTest
  ✗ PlotlyDFTest
  0 dependencies successfully precompiled in 3 seconds. 73 already precompiled.

ERROR: The following 1 direct dependency failed to precompile:

PlotlyDFTest [cb693c1a-2323-4e7d-a59f-d847e178de62]

Failed to precompile PlotlyDFTest [cb693c1a-2323-4e7d-a59f-d847e178de62] to "/home/jason/.julia/compiled/v1.10/PlotlyDFTest/jl_qA0kg9".
ERROR: LoadError: MethodError: no method matching scatter(::DataFrames.DataFrame; x::Symbol, y::Symbol, mode::String)

Closest candidates are:
  scatter(; kwargs...)
   @ PlotlyBase ~/.julia/packages/PlotlyBase/4NWbR/src/api.jl:39
  scatter(::AbstractDict; kwargs...)
   @ PlotlyBase ~/.julia/packages/PlotlyBase/4NWbR/src/api.jl:40

Stacktrace:
...

```

However if I just do the following in the REPL there’s no problem:

```julia
julia> using DataFrames, PlotlyJS

julia> df = DataFrame(x = rand(10), y = rand(10))
10×2 DataFrame
 Row │ x y
     │ Float64 Float64
─────┼─────────────────────
   1 │ 0.403774 0.450094
   2 │ 0.761454 0.538544
   3 │ 0.978787 0.0586694
   4 │ 0.309115 0.496085
   5 │ 0.715171 0.0809236
   6 │ 0.317805 0.349516
   7 │ 0.873211 0.597669
   8 │ 0.942189 0.194476
   9 │ 0.616944 0.435223
  10 │ 0.157878 0.870819

julia> t = scatter(df; x = :x, y = :y, mode = "markers")
scatter with fields mode, type, x, and y

```

This as well:

```julia
julia> let
       using DataFrames, PlotlyJS
       df = DataFrame(x = rand(10), y = rand(10))
       t = scatter(df; x = :x, y = :y, mode = "markers")
       plot(t)
       end
[ Info: Listening on: 127.0.0.1:6319, thread id: 1

```

I’m testing this in v"1.10.0-beta1" on x86\_64 but I also experienced the same error on v1.9
