Package Installation Failing May 2020 - DataFrames ,CSV

Today (5/12/2020, 5th May 2020 getting this on Julia TLS (1.0.5) version. It’s our production environment. Help please!!

Code:
using Pkg
Pkg.add(Pkg.PackageSpec(;name=“LearnBase”, version=“0.3”))
specific version was set for another issue: Package Installation Failing April 2020 - JuliaDB, OnlineStats
Pkg.add(“CSV”)
Pkg.add(“DataFrames”)
Pkg.add(“HTTP”)
Pkg.add(“JSON”)
Pkg.add(“JuliaDB”)
Pkg.add(“MbedTLS”)
using CSV
using JuliaDB
using HTTP
using JSON
using Dates
@info VERSION
@info Pkg.installed()

Errors:

ERROR: LoadError: Unsatisfiable requirements detected for package DataFrames [a93c6f00]:
DataFrames [a93c6f00] log:
├─possible versions are: [0.11.7, 0.12.0, 0.13.0-0.13.1, 0.14.0-0.14.1, 0.15.0-0.15.2, 0.16.0, 0.17.0-0.17.1, 0.18.0-0.18.4, 0.19.0-0.19.4, 0.20.0-0.20.2, 0.21.0] or uninstalled
├─restricted to versions 0.19.4 by an explicit requirement, leaving only versions 0.19.4
└─restricted by compatibility requirements with CSV [336ed68f] to versions: 0.21.0 — no versions left
└─CSV [336ed68f] log:
├─possible versions are: [0.3.0-0.3.1, 0.4.0-0.4.3, 0.5.0-0.5.26, 0.6.0-0.6.2] or uninstalled
└─restricted to versions 0.6.2 by an explicit requirement, leaving only versions 0.6.2

We should ensure that LTS version and packages are not broken. Should I pin to any specific versions? Or should I install everything and keep the “good” installed directory somewhere safe, and
just copy the package directory to the deployed environment? Any guidelines?

Thanks all!

It looks like your requirement explicitly asks for DataFrames@0.19.4 and CSV@0.6.2 which don’t go together - have you explicitly asked for those versions at some point?

What happens if you ]add DataFrames@0.21?

And yes I think if you’ve got a production system on the LTS version somewhere it might make sense to pin the packages you’re using to prevent things from breaking.

3 Likes

Thanks @nilshg, it make sense. I remember for some reason, I had to set DataFrames to that specific version. I guess this fixed my issue, but let me validate this properly.

1 Like

You should probably use a Julia environment with fixed package versions if this is your production system.

1 Like

@dpsanders - Can you suggest or direct me to some documentation/sample? Here is the steps on production environment (which is very standard)

  1. Deployment process [one time task]: Copy source code and install all packages → this is done by sudo user, lets say “sshuser”
  2. Run time our packages are executed by another service account user → let say “service_user”

In my case #2 user never find the packages installed by #1 user

I know we are deviating from original issue, if not allowed, I can open another new ticket

Thanks everyone!

There is a discussion somewhere about how to do this, but I am not an expert. I suggest you open a different thread about that.

fair enough, thanks anyway.