<!-- # hard line break macro for HTML -->

<a id="troubleshooting"></a>

# Install Troubleshooting

This page lists common issues encountered when installing FiftyOne and possible
solutions. If you encounter an issue that this page doesn’t help you resolve,
feel free to
[open an issue on GitHub](https://github.com/voxel51/fiftyone/issues/new?labels=bug&template=installation_issue_template.md&title=%5BSETUP-BUG%5D)
or [contact us on Discord](https://community.voxel51.com).

#### NOTE
Most installation issues can be fixed by upgrading some packages and then
rerunning the FiftyOne install. So, try this first before reading on:

```shell
pip install --upgrade pip setuptools wheel build
pip install fiftyone
```

<a id="troubleshooting-pip"></a>

## Python/pip incompatibilities

### “No matching distribution found”

If you attempt to install FiftyOne with a version of Python or pip that is too
old, you may encounter errors like these:

```text
ERROR: Could not find a version that satisfies the requirement fiftyone (from versions: none)
ERROR: No matching distribution found for fiftyone
```

```text
Could not find a version that satisfies the requirement fiftyone-brain (from versions: )
No matching distribution found for fiftyone-brain
```

```text
fiftyone requires Python '>=3.10' but the running Python is 3.9.25
```

To resolve this, you will need to use Python 3.10 or newer, and pip 21.3 or
newer. See the [installation guide](index.md#installing-fiftyone) for details. If
you have installed a suitable version of Python in a virtual environment and
still encounter this error, ensure that the virtual environment is activated.
See the
[virtual environment setup guide](virtualenv.md) for more details.

#### NOTE
FiftyOne does not support 32-bit platforms.

### “Package ‘fiftyone’ requires a different Python”

This error occurs when attempting to install FiftyOne with an unsupported
Python version (either too old or too new). See the
[installation guide](index.md#install-prereqs) for details on which versions of
Python are supported by FiftyOne.

If you have multiple Python installations, you may be using `pip` from an
incompatible Python installation. Run `pip --version` to see which Python
version `pip` is using. If you see an unsupported or unexpected Python version
reported, there are several possible causes, including:

* You may not have activated a virtual environment in your current shell. Refer
  to the [virtual environment setup guide](virtualenv.md) for details.
* If you are intentionally using your system Python installation instead of a
  virtual environment, your system-wide `pip` may use an unsupported Python
  version. For instance, on some Linux systems, `pip` uses Python 2, and `pip3`
  uses Python 3. If this is the case, try installing FiftyOne with `pip3`
  instead of `pip`.
* You may not have a compatible Python version installed. See the
  [installation guide](index.md#install-prereqs) for details.

### “No module named skbuild”

On Linux, this error can occur when attempting to install OpenCV with an old
pip version. To fix this, upgrade pip. See the
[installation guide](index.md#installing-fiftyone) for instructions, or the
[opencv-python FAQ](https://pypi.org/project/opencv-python-headless/) for
more details.

<a id="troubleshooting-video"></a>

## Videos do not load in the App

You need to install [FFmpeg](https://ffmpeg.org) in order to work with video
datasets:

Linux

macOS

Windows

```shell
sudo apt install -y ffmpeg
```

```python
brew install ffmpeg
```

You can download a Windows build from
[here](https://ffmpeg.org/download.html#build-windows). Unzip it and be
sure to add it to your path.

Without FFmpeg installed, videos may appear in the App, but they will not be
rendered with the correct aspect ratio and thus label overlays will not be
positioned correctly.

<a id="troubleshooting-ipython"></a>

## IPython installation

If you are using IPython and a virtual environment for FiftyOne, IPython must
be installed in the virtual environment, per the
[installation guide](index.md#installing-extras). If you attempt to use a
system-wide IPython installation in a virtual environment with FiftyOne, you
may encounter errors such as:

```text
.../IPython/core/interactiveshell.py:935: UserWarning: Attempting to work in a virtualenv. If you encounter problems, please install IPython inside the virtualenv.
```

```text
File ".../fiftyone/core/../_service_main.py", line 29, in <module>
    import psutil
ModuleNotFoundError: No module named 'psutil'
```

```text
ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused
```

To resolve this, install IPython in your active virtual environment (see the
[virtual environment guide](virtualenv.md#virtualenv-guide) for more information):

```shell
pip install ipython
```

<a id="troubleshooting-mongodb"></a>

## Import and database issues

FiftyOne includes a `fiftyone-db` package wheel for your operating system and
hardware. If you have not
[configured your own database connection](../user_guide/config.md#configuring-mongodb-connection),
then FiftyOne’s database service will attempt to start up on import using the
MongoDB distribution provided by `fiftyone-db`. If the database fails to start,
importing `fiftyone` will result in exceptions being raised.

<a id="troubleshooting-downgrades"></a>

## Downgrading to old versions

The [fiftyone migrate](../cli/index.md#cli-fiftyone-migrate) command was introduced in
FiftyOne v0.7.3. If you would like to downgrade from a FiftyOne version
prior to v0.7.3 (to a yet older version), then you will first need to
[upgrade](index.md#upgrading-fiftyone) to v0.7.3 or later and then
[downgrade](index.md#downgrading-fiftyone):

```shell
# The version that you wish to downgrade to
VERSION=0.7.0

pip install fiftyone==0.7.3
fiftyone migrate --all -v $VERSION
pip install fiftyone==$VERSION
```

To install a FiftyOne version prior to v0.7.0, you must add `--index`:

```shell
pip install --index https://pypi.voxel51.com fiftyone==<version>
```

<a id="troubleshooting-mongodb-exits"></a>

## Database exits

On some UNIX systems, the default open file limit setting is too small for
FiftyOne’s MongoDB connection. The database service will exit in this case.
Running `ulimit -n 64000` should resolve the issue. 64,000 is the recommended
open file limit.  MongoDB has full documentation on the issue
[here](https://docs.mongodb.com/manual/reference/ulimit/).

<a id="troubleshooting-mongodb-linux"></a>

### Troubleshooting Linux imports

`fiftyone-db` officially supports Amazon Linux 2 and 2023, Debian 9+
(x86_64 only), Ubuntu 18.04+, and RHEL/CentOS 7+ Linux distributions. The
correct MongoDB build is downloaded and installed while building the package
wheel on your machine.

If a suitable MongoDB build is not available or otherwise does not
work in your environment, you may encounter a `FiftyOneConfigError`.

If you have output similar to the below, you may just need to install
`libssl` packages.

```text
Subprocess ['.../site-packages/fiftyone/db/bin/mongod', ...] exited with error 127:
.../site-packages/fiftyone/db/bin/mongod: error while loading shared libraries:
  libcrypto.so.1.1: cannot open shared object file: No such file or directory
```

On Ubuntu, `libssl` packages can be install with the following command:

```shell
sudo apt install libssl-dev
```

If you still face issues with imports, you can follow
[these instructions](../user_guide/config.md#configuring-mongodb-connection) to configure
FiftyOne to use a MongoDB instance that you have installed yourself.

<a id="troubleshooting-mongodb-windows"></a>

### Troubleshooting Windows imports

If your encounter a `psutil.NoSuchProcessExists` exists when importing
`fiftyone`, you are likely missing the C++ libraries MongoDB requires.

```default
psutil.NoSuchProcess: psutil.NoSuchProcess process no longer exists (pid=XXXX)
```

Downloading and installing the Microsoft Visual C++ Redistributable from this
[page](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0)
should resolve the issue. Specifically, you will want to download the
`vc_redist.x64.exe` redistributable.
