twosigma / twosigma/beakerx

Notebook must be restarted each time dependencies are changed

Open
#7,741 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
2.9k
Forks
383
PR merge metrics
No merged PRs in 30d

Description

I have a cell in my notebook which declares my dependencies:
```
%%classpath add mvn
tech.tablesaw tablesaw-core 0.24.7
tech.tablesaw tablesaw-beakerx 0.24.7
com.jimmoores quandl-tablesaw 2.0.0
```

Then I updated those dependencies:
```
%%classpath add mvn
tech.tablesaw tablesaw-core 0.24.9
tech.tablesaw tablesaw-beakerx 0.24.9
com.jimmoores quandl-tablesaw 2.0.0
```

BeakerX is still picking up `0.24.7` and I have to kill the notebook and restart it for the new version to be picked up. I'm guessing it's adding both `0.24.7` and `0.24.9` to the classpath, but `0.24.7` is the one that's being used (possibly because of classpath ordering)

My preferred solution to this problem would be to allow only one cell in the notebook where you can specify dependencies. When this cell is run, it clears all previous dependencies. This would also fix another issue I've run into where I declare some dependencies in one cell and some in another. Those two sets of dependencies may have some transitive dependencies that are the same, but version conflicts occur because they were not resolved together. I've learned over time that I must specify all dependencies in a single cell or I frequently get unexpected behavior.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.