Issues with installation

Hi all,

I’m having some trouble understanding whether I’ve installed or updated Pumas correctly.

After some effort, I managed to get Pumas working when I create a new file in the global Julia environment. However, I cannot add or use Pumas in a new environment or project.

My typical workflow is to initialize a project using DrWatson.jl. When I activate a project folder and try to add or use Pumas, I get the following error (this also happens with my older projects):

ERROR: The following package names could not be resolved:
 * Pumas (not found in project, manifest or registry)
   Suggestions: Numssp, Damask, Purses, Pandas, Grumps, Primes, PDMats

It seems that I now have to use the Pumas installer to “Install to project” every time, whereas before I could simply do using Pumas in a project. Is this the expected workflow?

Additionally, to work with my old projects, do I need to import my scripts into a new folder where Pumas has been installed to the project environment?

Finally, I noticed that I no longer have a Pumas folder in:

C:\…\AppData\Local\Programs

where it was located in previous installations.

Any guidance on the correct way to set up Pumas for use in isolated Julia projects would be greatly appreciated.

Hello @medhat,

“Install to project” is the correct way to make use of Pumas in a non-global location. It will not duplicate any installation data, just adds the resolve Project.toml and Manifest.toml files to the local folder so that using finds the correct version from your depot path. Once Pumas is set up in a folder then you can use normal package operations to add any additional packages that are compatible with the particular Pumas release if they are not provided in the default set. Desktop Installation · Pumas for the specifics needed when adding extra packages.

If you were able to do using Pumas from any environment then that means it was installed directly in your default global environment. We discourage that since it results in non-reproducible environments.

It behaves more closely to a normal Julia package now and all data is just stored in the Julia depot path like any other Julia packages on your system and managed by the same system as the rest of your Julia installation.

Then that means all went well!

Indeed it was installed directly before in which case it would conflict with adding certain packages (like Plots.jl).

Thanks for the clear explanation, Michael.

I’ve been having issue with installation since new year and it hasn’t been resolved. I had pumas 2.7.0 and it was working fine. after receiving the new license key I tried to install 2.8.0 from VScode.

I saw newer post on installing for project each time, but still this is what I get.

Hi @behn00sh,

image

Can you check whether anything exists in that path above, or any of it’s parent directories? It may be that the folder structures have be left in a incomplete state.

Kind regards,
Michael

I don’t have an env under data, I do see packages and registry. packages have subfolders including pumas, pumasproductmanager,…

Likely an incomplete download happened, delete the ppr folder and then start up vscode again, that might sort it.

Thanks, in the VScode, do I start with a julia REPL and run using Pumas? that didn’t work.

do I start with a julia REPL and run using Pumas

Had you successfully done an install of one of the Pumas versions into either a folder, or globally?

What does import Pkg; Pkg.status() print in that REPL that you started?

I have tried to install globally

julia> import Pkg; Pkg.status()
Status C:\Users\[...]\Project.toml
[cbdf2221] AlgebraOfGraphics
[336ed68f] CSV
[13f3f980] CairoMakie
[324d7699] CategoricalArrays
[8be319e6] Chain
[a93c6f00] DataFrames
[1313f7d8] DataFramesMeta
[beb94c34] Pumas
[4ac06bc8] PumasUtilities
[2913bbd2] StatsBase

ERROR: ArgumentError: Package Pumas [beb94c34-532f-45f5-9be7-ab1c2c37158e] is required but does not seem to be installed:

  • Run Pkg.instantiate() to install all recorded dependencies.

Stacktrace:
[1] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:2515
[2] __require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:2388
[3] #invoke_in_world#3
@ .\essentials.jl:1089 [inlined]
[4] invoke_in_world
@ .\essentials.jl:1086 [inlined]
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:2375
[6] macro expansion
@ .\loading.jl:2314 [inlined]
[7] macro expansion
@ .\lock.jl:273 [inlined]
[8] __require(into::Module, mod::Symbol)
@ Base .\loading.jl:2271
[9] #invoke_in_world#3
@ .\essentials.jl:1089 [inlined]
[10] invoke_in_world
@ .\essentials.jl:1086 [inlined]
[11] require(into::Module, mod::Symbol)
@ Base .\loading.jl:2260

Is that the full list, or is that truncated?