Pluto.jl icon indicating copy to clipboard operation
Pluto.jl copied to clipboard

Pluto package manager & Pkg.develop

Open aplavin opened this issue 4 years ago • 7 comments

I'm curious, what was the motivation to disable PlutoPkg when a package is developed manually? https://github.com/fonsp/Pluto.jl/blob/163b7ce199c97cea95df7776fe5740300c57b669/src/packages/Packages.jl#L20-L23

I use Pluto + Pkg.develop together and didn't observe any issues yet. It's just somewhat inconvenient to sidestep the above check with:

import Pkg
dev = Pkg.develop
dev(path=".. path to mypackage ...")

using mypackage
using otherpackages  # managed by pluto

aplavin avatar Jul 10 '21 14:07 aplavin

I was unsure about it, and did not yet think through all possible use cases and edge cases, so I disabled it to avoid a difficult backwards-compat situation later.

The goal for now is: use plutopkg if and only if a notebook does not set up a package environment itself. That is simple logic to maintain, and simple for users to understand.

Eventually, I want to make develop possible through the GUI.

fonsp avatar Jul 11 '21 11:07 fonsp

Thanks for taking the time to respond even when on holidays :) Indeed, being conservative first and potentially adding stuff later is probably better than the other way round. Just had to report that dev seems to work just fine already - but of course I didn't test all possible corner cases. Looking forward to a Pluto-style gui for this!

aplavin avatar Jul 11 '21 12:07 aplavin

I would also like that Pkg.add a not-yet-registered URL package not to disable the Pluto package manager.

liuyxpp avatar Jul 23 '21 09:07 liuyxpp

I've been finding myself wanting this. For now I've just been making use of many point releases (in private registry) to use it with PlutoPkg but that's not a great solution.

But, I appreciate finding the workaround noted in the first post.

BioTurboNick avatar Dec 03 '22 15:12 BioTurboNick

With https://github.com/JuliaLang/Pkg.jl/pull/3783 we can describe local and git packages in Project.toml :)

fonsp avatar Mar 07 '24 14:03 fonsp