brendan-rius / jupyter-c-kernel

Minimal Jupyter C kernel
MIT License
574 stars 144 forks source link

add resources/ as package data #40

Closed halfhorst closed 6 years ago

halfhorst commented 6 years ago

This addresses #36, as well as, I think, #35 and probably a lot of other things people are describing in issues and comments. The exception is "Permission Denied" but the first line indicates that it is the initial compiling of master.c that is the problem, and it is because gcc can't find it.

The issue is that resources is not installed with jupyter-c-kernel when installed using pip. Using docker works just fine because the git clone pulls in resources/ and the Dockerfile installs editable anyways so it doesn't move anything around. But if you pip install you don't get resources/.

I just added that dir as package-data so it comes with during install. I also rebuilt the docker image just to make sure that wasn't broken anymore.

halfhorst commented 6 years ago

Actually, no, this still breaks the Dockerfile. The problem is the discrepancy between the structure that results from pip install and pip -e install

halfhorst commented 6 years ago

Alright, I fixed this up. Had to alter the package structure a little so take a look and just merge if you are OK with that. I tested it by pip installing on a centOS machine and by building the docker container on a windows machine and running it.

I think if the readme had added editable mode in the install explanation everything would have worked, but I opted to change the structure instead so that editable installs weren't necessary. They should still work, though, if someone wants to tinker.

brendan-rius commented 6 years ago

Thank you for the fix. Removed the editable pip installation removes the ability to test the kernel quickly (that was the goal) but I think nobody uses the feature