---
slug: "install-fibers-failed-python-version"
title: "Trying to Install npm install fibers (node-fibers) Results in ValueError: invalid mode: 'rU' While Trying to Load binding.gyp"
description: "Fix `npm install fibers` (node-fibers) failing with `ValueError: invalid mode: 'rU'` — its `setup.py` uses a deprecated flag, so install with Python 3.10 or older."
url: "https://www.ytyng.com/en/blog/install-fibers-failed-python-version"
publish_date: "2023-03-29T05:31:58Z"
created: "2023-03-29T05:31:58Z"
updated: "2026-05-11T13:15:59.705Z"
categories: ["Python"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20250605/0c18847958104ddd82d20c20815d0f2f.png.webp?width=768"
has_video: true
has_music: true
video_urls: ["https://media.ytyng.net/ytyng-blog/277/featured-video-1.mp4", "https://media.ytyng.net/ytyng-blog/277/featured-video-2.mp4", "https://media.ytyng.net/ytyng-blog/277/featured-video-3.mp4"]
music_urls: ["https://media.ytyng.net/ytyng-blog/277/featured-music-277-1.mp3?v=2", "https://media.ytyng.net/ytyng-blog/277/featured-music-277-2.mp3?v=2"]
lang: "en"
---

# Trying to Install npm install fibers (node-fibers) Results in ValueError: invalid mode: 'rU' While Trying to Load binding.gyp

After running

```shell
yarn install
```

I encountered the following error:

```
 ERROR  ## There is an issue with node-fibers ##
`..../node_modules/fibers/bin/darwin-x64-83/fibers.node` is missing.
```

To resolve this, I proceeded with

```shell
npm install fibers
```

However, this resulted in another error:

```
  File "/<home>/.asdf/installs/nodejs/14.7.0/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 2782, in Load
    LoadTargetBuildFile(build_file, data, aux_data,
  File "/<home>/.asdf/installs/nodejs/14.7.0/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 391, in LoadTargetBuildFile
    build_file_data = LoadOneBuildFile(build_file_path, data, aux_data,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<home>/.asdf/installs/nodejs/14.7.0/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 234, in LoadOneBuildFile
    build_file_contents = open(build_file_path, 'rU').read()
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid mode: 'rU' while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
```

According to a GitHub issue, this error is related to the Python version.

[ValueError: invalid mode: 'rU' while trying to load binding.gyp (Python 3.9 compatibility issue) · Issue #2219 · nodejs/node-gyp](https://github.com/nodejs/node-gyp/issues/2219)

Changing the Python version seemed cumbersome, so I opened the problematic file `node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py` in an editor and removed the `U` from the following line:

```python
build_file_contents = open(build_file_path, 'rU').read()
```

Changing it to:

```python
build_file_contents = open(build_file_path, 'r').read()
```

After making this change, `npm install fibers` executed successfully.
