posit-dev / positron

Positron, a next-generation data science IDE
Other
2.48k stars 77 forks source link

Bundle Quarto CLI with Positron #3705

Closed petetronic closed 3 weeks ago

petetronic commented 3 months ago

The Quarto Extension does not come with a Quarto CLI, so to make it simpler for customers to use Quarto with Positron out of the box, we should also look to bundle the Quarto CLI.

We currently bundle the Pandoc CLI separately, this would need to be coordinated with the inclusion of Quarto instead.

jmcphers commented 1 month ago

We're bundling Quarto as of #4212, but to complete this story we also need a version of the Quarto extension that can find the bundle. https://github.com/quarto-dev/quarto/pull/503 contains the needed changes.

coatless commented 1 month ago

Looks like https://github.com/quarto-dev/quarto/pull/503 just was merged in by JJ. Any chance the built-in Quarto extension could get bumped? 😄

jmcphers commented 1 month ago

Yes, we'll bundle 1.114.0 of the extension when it becomes available (JJ will need to do the release first).

jmcphers commented 1 month ago

Should be ready to test now, note that there's still a problem with the Quarto extension not adding the Quarto path to the PATH if the Positron Quarto installation is your only Quarto installation. This needs to be fixed in the Quarto extension.

https://github.com/quarto-dev/quarto/issues/517

testlabauto commented 1 month ago

Anyone have thoughts on what can be tested prior to https://github.com/quarto-dev/quarto/issues/517 being completed? It seems to me like we might need to wait on that to really test that bundling works. Without it, I am assuming that one would not truly be using the bundled extension.

jonvanausdeln commented 1 month ago

As I just posted in the quarto issue https://github.com/quarto-dev/quarto/issues/517#issuecomment-2316009206

I just tried with the latest build of Positron (2024.08.0-77 on Windows and it doesn't find Quarto.

C:\Users\JonVanausdeln\source\qa-example-content [main ≡]> quarto preview c:/Users/JonVanausdeln/source/qa-example-content/workspaces/quarto_basic/quarto_basic.qmd --no-browser --no-watch-inputs --output-dir C:\Users\JONVAN~1\AppData\Local\Temp\tmp-32232-hHeUVdON8Tb2 --embed-resources
quarto: The term 'quarto' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
jmcphers commented 4 weeks ago

This should work now unless pyenv is active. As noted in https://github.com/quarto-dev/quarto/issues/517#issuecomment-2318143819, pyenv is removing Quarto from the $PATH which leads to the issue @jonvanausdeln describes above.

QA, can we close this one (assuming the non-pyenv case works okay)? I have opened https://github.com/posit-dev/positron/issues/4561 to track the pyenv case.

testlabauto commented 3 weeks ago

Verified Fixed

Positron Version(s) : 2024.09.0-1
OS Version          : OSX

Test scenario(s)

Non pyenv runs work fine!

Link(s) to TestRail test cases run or created: N/A