# How do I find which packages are preventing DataFrames.jl from updating?

**URL:** https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703
**Category:** General Usage
**Tags:** question
**Created:** [October 7, 2023, 4:16pm UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703 "2023-10-07T16:16:46Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![Soldalma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/soldalma/32/29388_2.png) [@Soldalma](https://discourse.julialang.org/u/Soldalma)
#### Post date: [October 7, 2023, 4:16pm UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/1 "2023-10-07T16:16:47Z")

</div>

The package DataFrames.jl is stuck in version v1.3.6 in my environment. I looked at Manifest.jl and deleted all the packages I could that were dependencies. Then I tried to update DataFrames.jl and still it did not update.

How can I find which packages are preventing DataFrames.jl from updating, and what should I do to perform the update?

---

<div class="post-metadata">

### Author: ![Christopher\_Fisher](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/christopher_fisher/32/26132_2.png) [@Christopher\_Fisher](https://discourse.julialang.org/u/Christopher_Fisher)
#### Post date: [October 7, 2023, 4:43pm UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/2 "2023-10-07T16:43:52Z")

</div>

In the package mode of the REPL, you can use the command `st --outdated` to get information about which package(s) is blocking the upgrade. I’m not sure about your setup, but I recommend using project specific environments to minimize version conflicts in large global environments.

---

<div class="post-metadata">

### Author: ![Soldalma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/soldalma/32/29388_2.png) [@Soldalma](https://discourse.julialang.org/u/Soldalma)
#### Post date: [October 7, 2023, 4:47pm UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/3 "2023-10-07T16:47:10Z")

</div>

I had tried this but all I got was:

```julia
⌃ [a93c6f00] DataFrames v1.3.6 (<v1.6.1)
⌅ [a1bb12fb] Electron v3.1.2 (<v5.0.0): DataVoyager, ElectronDisplay
⌃ [28b8d3ca] GR v0.72.8 (<v0.72.10)
⌃ [bdcacae8] LoopVectorization v0.12.150 (<v0.12.165)
⌃ [add582a8] MLJ v0.19.5 (<v0.20.0)
⌅ [2913bbd2] StatsBase v0.33.21 (<v0.34.2): ScikitLearn
⌅ [d2c73de3] GR_jll v0.72.8+0 (<v0.72.10+0): GR

```

It does not specify which packages are preventing DataFrames.jl from updating. Or at least I believe so.

---

<div class="post-metadata">

### Author: ![Christopher\_Fisher](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/christopher_fisher/32/26132_2.png) [@Christopher\_Fisher](https://discourse.julialang.org/u/Christopher_Fisher)
#### Post date: [October 7, 2023, 4:51pm UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/4 "2023-10-07T16:51:19Z")

</div>

The arrow up seems to indicate that DataFrames is not blocked: `⌃ [a93c6f00] DataFrames v1.3.6 (<v1.6.1)`

What happens if you try `update DataFrames`?

---

<div class="post-metadata">

### Author: ![Soldalma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/soldalma/32/29388_2.png) [@Soldalma](https://discourse.julialang.org/u/Soldalma)
#### Post date: [October 8, 2023, 2:40am UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/5 "2023-10-08T02:40:07Z")

</div>

Nothing happens. It continues in version v1.3.6.

---

<div class="post-metadata">

### Author: ![g-gundam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/g-gundam/32/47593_2.png) [@g-gundam](https://discourse.julialang.org/u/g-gundam)
#### Post date: [October 8, 2023, 4:14am UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/6 "2023-10-08T04:14:20Z")

</div>

@Soldalma Could you post the relevant parts of your **Project.toml** to see if we can replicate what’s happening to you?

---

<div class="post-metadata">

### Author: ![tamasgal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamasgal/32/27946_2.png) [@tamasgal](https://discourse.julialang.org/u/tamasgal)
#### Post date: [October 8, 2023, 8:52am UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/7 "2023-10-08T08:52:44Z")

</div>

I reproduced the environment given the package versions above with

```julia
(dataframes) pkg> add Electron@3.1.2, DataFrames@1.3.6, GR@0.72.8, LoopVectorization@0.12.150, MLJ@0.19.5, StatsBase@0.33.21
...
...
...
(dataframes) pkg> st
Status `~/tmp/dataframes/Project.toml`
⌃ [a93c6f00] DataFrames v1.3.6
⌃ [a1bb12fb] Electron v3.1.2
⌃ [28b8d3ca] GR v0.72.8
⌃ [bdcacae8] LoopVectorization v0.12.150
⌃ [add582a8] MLJ v0.19.5
⌃ [2913bbd2] StatsBase v0.33.21
Info Packages marked with ⌃ have new versions available and may be upgradable.

```

Updating `DataFrames` works fine with `up --preserve=direct DataFrames`

```julia
(dataframes) pkg> up --preserve=direct DataFrames
    Updating registry at `~/.julia/registries/KM3NeT`
    Updating git-repo `git@git.km3net.de:common/julia-registry.git`
    Updating registry at `~/.julia/registries/General.toml`
    Updating `~/tmp/dataframes/Project.toml`
  [a93c6f00] ↑ DataFrames v1.3.6 ⇒ v1.6.1
    Updating `~/tmp/dataframes/Manifest.toml`
  [a93c6f00] ↑ DataFrames v1.3.6 ⇒ v1.6.1
  [59287772] - Formatting v0.4.2
  [842dd82b] + InlineStrings v1.4.0
  [b964fa9f] + LaTeXStrings v1.3.0
  [08abe8d2] ↑ PrettyTables v1.3.1 ⇒ v2.2.7
  [91c51154] + SentinelArrays v1.4.0
  [892a3eda] + StringManipulation v0.3.4
Precompiling project...
  9 dependencies successfully precompiled in 19 seconds. 198 already precompiled.

(dataframes) pkg> st
Status `~/tmp/dataframes/Project.toml`
  [a93c6f00] DataFrames v1.6.1
⌃ [a1bb12fb] Electron v3.1.2
⌃ [28b8d3ca] GR v0.72.8
⌃ [bdcacae8] LoopVectorization v0.12.150
⌃ [add582a8] MLJ v0.19.5
⌃ [2913bbd2] StatsBase v0.33.21
Info Packages marked with ⌃ have new versions available and may be upgradable.

```

If you try to `add DataFrames@1.6.1` directly, it should tell you more. If you need more help, the output of your `status` would be beneficial as @g-gundam already pointed out 😉

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [October 8, 2023, 9:23am UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/8 "2023-10-08T09:23:47Z")

</div>

I would always use a local project and not the global environment. You can create a local project environment with:

```julia
mkdir MyProject
cd MyProject
julia --project="."
]
add <all the packages this project needs>

```

The next time you launch Julia just use `julia --project` to launch it.

This usually avoids these kind of issues.

See also: [Working with Julia projects | Julia programming notes](https://ufechner7.github.io/2022/08/16/julia-projects.html)

---

<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: [October 8, 2023, 10:12am UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/9 "2023-10-08T10:12:24Z")

</div>

Try `] status --outdated --manifest` to include all dependencies.

You can also try forcing a more recent version, e.g

```julia
] add --preserve=direct DataFrames@1.6

```

which should result in an error message that tells you about the conflict. Careful though, the dependency solver might find a solution by downgrading some non-direct dependencies (those which you haven’t added specifically to the project).

---

<div class="post-metadata">

### Author: ![Soldalma](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/soldalma/32/29388_2.png) [@Soldalma](https://discourse.julialang.org/u/Soldalma)
#### Post date: [October 8, 2023, 5:04pm UTC](https://discourse.julialang.org/t/how-do-i-find-which-packages-are-preventing-dataframes-jl-from-updating/104703/10 "2023-10-08T17:04:41Z")

</div>

> [@tamasgal](#):
>
> `up --preserve=direct DataFrames`

I tried `up --preserve=direct DataFrames` and it had no effect. DataFrames remained on version v1.3.6.

Then I removed the DataFrames package and did

```julia
add DataFrames@1.6.1

```

The package was not added. This is what appeared on the REPL:

```julia
(BWModule) pkg> add DataFrames@1.6.1
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Compat [34da2185]:
 Compat [34da2185] log:
 ├─possible versions are: 1.0.0-4.10.0 or uninstalled
 ├─restricted by compatibility requirements with DataFrames [a93c6f00] to versions: 4.2.0-4.10.0
 │ └─DataFrames [a93c6f00] log:
 │ ├─possible versions are: 0.11.7-1.6.1 or uninstalled
 │ ├─restricted to versions * by Utils [2bd11c06], leaving only versions: 0.11.7-1.6.1
 │ │ └─Utils [2bd11c06] log:
 │ │ ├─possible versions are: 0.1.1 or uninstalled
 │ │ └─Utils [2bd11c06] is fixed to version 0.1.1
 │ └─restricted to versions 1.6.1 by an explicit requirement, leaving only versions: 1.6.1
 └─restricted by compatibility requirements with RDates [42063a9e] to versions: 3.31.0-3.46.2 — no versions left
   └─RDates [42063a9e] log:
     ├─possible versions are: 0.1.0-0.5.1 or uninstalled
     ├─restricted to versions * by an explicit requirement, leaving only versions: 0.1.0-0.5.1
     └─restricted by compatibility requirements with HolidayCalendars [805b3977] to versions: 0.5.1
       └─HolidayCalendars [805b3977] log:
         ├─possible versions are: 0.1.0 or uninstalled
         └─restricted to versions * by an explicit requirement, leaving only versions: 0.1.0

```

I then removed the packages RDates and HolidayCalendars and tried again

```julia
add DataFrames@1.6.1

```

That worked. The DataFrames package was updated to version 1.6.1
