tweag / jupyenv

Declarative and reproducible Jupyter environments - powered by Nix
https://jupyenv.io/
MIT License
651 stars 135 forks source link

[Feature]: A "pure" python kernel #485

Open silky opened 1 year ago

silky commented 1 year ago

What's missing?

The poetry2nix Python kernel is a bit problematic.

For example, see at least https://github.com/tweag/jupyenv/issues/482, but furthermore, note that sometimes poetry2nix makes certain things quite hard; c.f. tensorflow. It seems hard to get it to work; but nix-shell -p python310Packages.tensorflow works fine.

Possible solution

It'd be great if there was a "pure" python kernel, that just uses the python3.withPackages ... style, or something, to just specify the packages in scope.

Alternatives

No response

Additional context

No response

collinarnett commented 1 year ago

Yeah this would be great. The old juypterWith interface was so simple and worked so well. Poetry is a pain to deal with nix leading to infinite recursion errors and hard to debug issues.

Princemachiavelli commented 1 year ago

The change to poetry2nix that causes #482 is fairly easy to fix; I just removed the passed poetry parameter for now. But even after using the new poetry2nix version, I get tons of errors like this trying to build the same jupyenv environment (actually it's @collinarnett stable-diffusion-nix project) which works with the old jupiterWith interface just fine.

 Could not find a version that satisfies the requirement setuptools>=41.0.0 (from tensorboard) (from versions: none)
silky commented 1 year ago

@Princemachiavelli my conclusion was that poetry2nix is a bit too doomfilled to be worth pursuing; i.e. I had enough trouble (and in the end gave up) of even getting a trivial poetry2nix setup with tensorflow itself at all!

supermarin commented 1 year ago

Same here, the current state of the project is unusable.

GTrunSec commented 1 year ago

See #524