# Binder launch fails with OSError: \[Errno 28\] No space left on device:

**URL:** <https://discourse.jupyter.org/t/binder-launch-fails-with-oserror-errno-28-no-space-left-on-device/14530>\
**Category:** Binder\
**Created:** [June 9, 2022, 9:32am UTC](https://discourse.jupyter.org/t/binder-launch-fails-with-oserror-errno-28-no-space-left-on-device/14530 "2022-06-09T09:32:34Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [June 10, 2022, 2:03pm UTC](https://discourse.jupyter.org/t/binder-launch-fails-with-oserror-errno-28-no-space-left-on-device/14530/8 "2022-06-10T14:03:49Z")

</div>

Try [here](https://gesis.mybinder.org/v2/gh/renefritze/NCD-corrected-TR-RB-approach-for-pde-opt/HEAD) @renefritze . And then when your session starts and says `404 : Not Found You are requesting a page that does not exist!`, change the end of the URL from `/lab` to `/tree` and then hit enter in your address bar. That should take you to the classic Jupyter notebook dashboard.

You have an overly complex `requirements.txt` for ease in use with MyBinder. I recall from dealing with other’s repos where they just dump the entire freeze list, that it can conflict with proper JupyterLab installation as the MyBinder underlying settings get updated. You apparently have such a conflict and so that is why when it launches and tries to go by default to the link ending in `/lab`, it fails. (Actually [here](https://discourse.jupyter.org/t/failed-to-connect-to-event-stream/527/24) it was `nbinteract`, which you don’t have. And so I’d need to play around with eliminating different ones to actually tell which one or ones in your case. I don’t wish to do this now.)  
If there is a specific reason for documenting all the versions in a file named `requirements.txt`, then you should use a sub-directory called `binder` and place a separate `requirements.txt` there. (MyBinder will preferentially use configuration files in a subdirectory called `binder` or `.binder`.) In the `requirements.txt` list there in the `binder` directory, only list the few special packages that MyBinder doesn’t come with by default that your code needs to run without error. **And don’t pin any of those, unless you find you must.** For example, it looks like you have scipy listed and that would be one to include in the streamlined `requirements.txt`. Most of your current list, you wouldn’t want there, such underlying things like `terminado`,`nbconvert`, `nbformat`, and `tornado` that MyBinder handles for you.  
**Not pinning and only listing the special packages you need in the `requirements.txt`, will help keep your repo cooperating with the MyBinder machinery longer and because you usually get the current versions of packages developed in step with other packages you use, it actually ends up making your code work longer.**

Alternatively, I’ve [seen others suggest](https://github.com/kkroening/ffmpeg-python/issues/147#issue-388764410) you rename your current `requirements.txt` to something like `requirements-dev`. And then make the new one MyBInder will use as `requirements.txt` in the root.

---

_[View the full topic](https://discourse.jupyter.org/t/binder-launch-fails-with-oserror-errno-28-no-space-left-on-device/14530)._
