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 or contact us on Slack.
Note
Most installation issues can be fixed by upgrading some packages and then rerunning the FiftyOne install. So, try this first before reading on:
pip install --upgrade pip setuptools wheel build
pip install fiftyone
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:
ERROR: Could not find a version that satisfies the requirement fiftyone (from versions: none)
ERROR: No matching distribution found for fiftyone
Could not find a version that satisfies the requirement fiftyone-brain (from versions: )
No matching distribution found for fiftyone-brain
fiftyone requires Python '>=3.9' but the running Python is 3.4.10
To resolve this, you will need to use Python 3.9 or newer, and pip 19.3 or newer. See the installation guide 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 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 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 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, andpip3
uses Python 3. If this is the case, try installing FiftyOne withpip3
instead ofpip
.You may not have a compatible Python version installed. See the installation guide 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 for instructions, or the opencv-python FAQ for more details.
Videos do not load in the App¶
You need to install FFmpeg in order to work with video datasets:
sudo apt install -y ffmpeg
brew install ffmpeg
You can download a Windows build from here. 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.
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. If you attempt to use a system-wide IPython installation in a virtual environment with FiftyOne, you may encounter errors such as:
.../IPython/core/interactiveshell.py:935: UserWarning: Attempting to work in a virtualenv. If you encounter problems, please install IPython inside the virtualenv.
File ".../fiftyone/core/../_service_main.py", line 29, in <module>
import psutil
ModuleNotFoundError: No module named 'psutil'
ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused
To resolve this, install IPython in your active virtual environment (see the virtual environment guide for more information):
pip install ipython
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,
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.
Downgrading to old versions¶
The 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 to v0.7.3 or later and then downgrade:
# 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
:
pip install --index https://pypi.voxel51.com fiftyone==<version>
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.
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.
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:
sudo apt install libssl-dev
If you still face issues with imports, you can follow these instructions to configure FiftyOne to use a MongoDB instance that you have installed yourself.
Troubleshooting Windows imports¶
If your encounter a psutil.NoSuchProcessExists
exists when importing
fiftyone
, you are likely missing the C++ libraries MongoDB requires.
psutil.NoSuchProcess: psutil.NoSuchProcess process no longer exists (pid=XXXX)
Downloading and installing the Microsoft Visual C++ Redistributable from this
page
should resolve the issue. Specifically, you will want to download the
vc_redist.x64.exe
redistributable.