voxel51 / fiftyone

The open-source tool for building high-quality datasets and computer vision models
https://fiftyone.ai
Apache License 2.0
8.12k stars 541 forks source link

[SETUP-BUG] Installation is finished successfully, but dir ~/.fiftyone is absent. #1661

Closed volkov-maxim closed 2 years ago

volkov-maxim commented 2 years ago

System information

Commands to reproduce

pip install fiftyone

Describe the problem

  1. Install 51 with pip install fiftyone
  2. Check if dir ~/.fiftyone is available ls -la ~

Other info / logs

(Project) user@MacBook-Air ~ % pip install fiftyone
Collecting fiftyone
  Using cached fiftyone-0.15.0.1-py3-none-any.whl (1.3 MB)
Requirement already satisfied: scikit-image in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.19.1)
Collecting fiftyone-brain<0.9,>=0.8
  Using cached fiftyone_brain-0.8.1-cp38-cp38-macosx_11_0_arm64.whl (606 kB)
Requirement already satisfied: xmltodict in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.12.0)
Requirement already satisfied: opencv-python-headless in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (4.5.5.64)
Requirement already satisfied: pandas in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (1.4.1)
Requirement already satisfied: tornado<7,>=5.1.1 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (6.1)
Requirement already satisfied: eventlet in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.33.0)
Requirement already satisfied: psutil in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (5.9.0)
Requirement already satisfied: motor<3,>=2.3 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (2.5.1)
Requirement already satisfied: future in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.18.2)
Requirement already satisfied: pprintpp in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.4.0)
Requirement already satisfied: voxel51-eta<0.7,>=0.6.3 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.6.5)
Requirement already satisfied: ndjson in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.3.1)
Requirement already satisfied: PyYAML in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (6.0)
Requirement already satisfied: argcomplete in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (2.0.0)
Requirement already satisfied: pymongo<4,>=3.11 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (3.12.3)
Requirement already satisfied: retrying in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (1.3.3)
Requirement already satisfied: scikit-learn in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.19.2)
Requirement already satisfied: boto3 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (1.21.27)
Requirement already satisfied: tabulate in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.8.9)
Requirement already satisfied: kaleido in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.2.1)
Requirement already satisfied: aiofiles in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.8.0)
Collecting fiftyone-db<0.4,>=0.3
  Using cached fiftyone_db-0.3.0-py3-none-macosx_11_0_arm64.whl (6.0 kB)
Requirement already satisfied: Jinja2>=3 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (3.1.1)
Requirement already satisfied: pytz in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (2022.1)
Requirement already satisfied: plotly<5,>=4.14 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (4.14.3)
Requirement already satisfied: packaging in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (21.3)
Requirement already satisfied: mongoengine==0.20.0 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (0.20.0)
Requirement already satisfied: Pillow>=6.2 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (8.4.0)
Requirement already satisfied: setuptools in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (61.2.0)
Requirement already satisfied: universal-analytics-python3<2,>=1.0.1 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (1.1.1)
Requirement already satisfied: matplotlib in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (3.5.1)
Requirement already satisfied: Deprecated in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (1.2.13)
Requirement already satisfied: numpy in ./Projects/Project/lib/python3.8/site-packages (from fiftyone) (1.21.5)
Requirement already satisfied: scipy>=1.2.0 in ./Projects/Project/lib/python3.8/site-packages (from fiftyone-brain<0.9,>=0.8->fiftyone) (1.7.3)
Requirement already satisfied: MarkupSafe>=2.0 in ./Projects/Project/lib/python3.8/site-packages (from Jinja2>=3->fiftyone) (2.1.1)
Requirement already satisfied: six in ./Projects/Project/lib/python3.8/site-packages (from plotly<5,>=4.14->fiftyone) (1.16.0)
Requirement already satisfied: httpx>=0.10.0 in ./Projects/Project/lib/python3.8/site-packages (from universal-analytics-python3<2,>=1.0.1->fiftyone) (0.22.0)
Requirement already satisfied: requests in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (2.27.1)
Requirement already satisfied: glob2 in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (0.7)
Requirement already satisfied: python-dateutil in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (2.8.2)
Requirement already satisfied: tzlocal in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (4.1)
Requirement already satisfied: urllib3 in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (1.26.9)
Requirement already satisfied: dill in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (0.3.4)
Requirement already satisfied: patool in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (1.12)
Requirement already satisfied: sortedcontainers in ./Projects/Project/lib/python3.8/site-packages (from voxel51-eta<0.7,>=0.6.3->fiftyone) (2.4.0)
Requirement already satisfied: botocore<1.25.0,>=1.24.27 in ./Projects/Project/lib/python3.8/site-packages (from boto3->fiftyone) (1.24.27)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in ./Projects/Project/lib/python3.8/site-packages (from boto3->fiftyone) (1.0.0)
Requirement already satisfied: s3transfer<0.6.0,>=0.5.0 in ./Projects/Project/lib/python3.8/site-packages (from boto3->fiftyone) (0.5.2)
Requirement already satisfied: wrapt<2,>=1.10 in ./Projects/Project/lib/python3.8/site-packages (from Deprecated->fiftyone) (1.14.0)
Requirement already satisfied: dnspython>=1.15.0 in ./Projects/Project/lib/python3.8/site-packages (from eventlet->fiftyone) (2.2.1)
Requirement already satisfied: greenlet>=0.3 in ./Projects/Project/lib/python3.8/site-packages (from eventlet->fiftyone) (1.1.2)
Requirement already satisfied: kiwisolver>=1.0.1 in ./Projects/Project/lib/python3.8/site-packages (from matplotlib->fiftyone) (1.3.2)
Requirement already satisfied: fonttools>=4.22.0 in ./Projects/Project/lib/python3.8/site-packages (from matplotlib->fiftyone) (4.28.5)
Requirement already satisfied: pyparsing>=2.2.1 in ./Projects/Project/lib/python3.8/site-packages (from matplotlib->fiftyone) (3.0.6)
Requirement already satisfied: cycler>=0.10 in ./Projects/Project/lib/python3.8/site-packages (from matplotlib->fiftyone) (0.11.0)
Requirement already satisfied: tifffile>=2019.7.26 in ./Projects/Project/lib/python3.8/site-packages (from scikit-image->fiftyone) (2021.11.2)
Requirement already satisfied: imageio>=2.4.1 in ./Projects/Project/lib/python3.8/site-packages (from scikit-image->fiftyone) (2.14.0)
Requirement already satisfied: networkx>=2.2 in ./Projects/Project/lib/python3.8/site-packages (from scikit-image->fiftyone) (2.6.3)
Requirement already satisfied: PyWavelets>=1.1.1 in ./Projects/Project/lib/python3.8/site-packages (from scikit-image->fiftyone) (1.2.0)
Requirement already satisfied: charset-normalizer in ./Projects/Project/lib/python3.8/site-packages (from httpx>=0.10.0->universal-analytics-python3<2,>=1.0.1->fiftyone) (2.0.12)
Requirement already satisfied: sniffio in ./Projects/Project/lib/python3.8/site-packages (from httpx>=0.10.0->universal-analytics-python3<2,>=1.0.1->fiftyone) (1.2.0)
Requirement already satisfied: rfc3986[idna2008]<2,>=1.3 in ./Projects/Project/lib/python3.8/site-packages (from httpx>=0.10.0->universal-analytics-python3<2,>=1.0.1->fiftyone) (1.5.0)
Requirement already satisfied: certifi in ./Projects/Project/lib/python3.8/site-packages (from httpx>=0.10.0->universal-analytics-python3<2,>=1.0.1->fiftyone) (2021.10.8)
Requirement already satisfied: httpcore<0.15.0,>=0.14.5 in ./Projects/Project/lib/python3.8/site-packages (from httpx>=0.10.0->universal-analytics-python3<2,>=1.0.1->fiftyone) (0.14.7)
Requirement already satisfied: idna<4,>=2.5 in ./Projects/Project/lib/python3.8/site-packages (from requests->voxel51-eta<0.7,>=0.6.3->fiftyone) (3.3)
Requirement already satisfied: backports.zoneinfo in ./Projects/Project/lib/python3.8/site-packages (from tzlocal->voxel51-eta<0.7,>=0.6.3->fiftyone) (0.2.1)
Requirement already satisfied: pytz-deprecation-shim in ./Projects/Project/lib/python3.8/site-packages (from tzlocal->voxel51-eta<0.7,>=0.6.3->fiftyone) (0.1.0.post0)
Requirement already satisfied: anyio==3.* in ./Projects/Project/lib/python3.8/site-packages (from httpcore<0.15.0,>=0.14.5->httpx>=0.10.0->universal-analytics-python3<2,>=1.0.1->fiftyone) (3.5.0)
Requirement already satisfied: h11<0.13,>=0.11 in ./Projects/Project/lib/python3.8/site-packages (from httpcore<0.15.0,>=0.14.5->httpx>=0.10.0->universal-analytics-python3<2,>=1.0.1->fiftyone) (0.12.0)
Requirement already satisfied: tzdata in ./Projects/Project/lib/python3.8/site-packages (from pytz-deprecation-shim->tzlocal->voxel51-eta<0.7,>=0.6.3->fiftyone) (2022.1)
Installing collected packages: fiftyone-db, fiftyone-brain, fiftyone
Successfully installed fiftyone-0.15.0.1 fiftyone-brain-0.8.1 fiftyone-db-0.3.0

(Project) user@MacBook-Air ~ % ls -a
.               .ssh
..              .swiftpm
.CFUserTextEncoding     .tool-versions
.DS_Store           .viminfo
.Trash              .yandex
.anydesk            .zprofile
.asdf               .zsh_history
.asdfrc             .zsh_sessions
.cache              .zshrc
.cocoapods          Desktop
.dbshell            Documents
.docker             Downloads
.gem                Library
.gemrc              Movies
.gitconfig          Music
.idlerc             Pictures
.local              Projects
.matplotlib         Public
.mongodb            Terminal Saved Output
.mongorc.js         Terminal Saved Output.txt
.python_history
benjaminpkane commented 2 years ago

Hi @volkov-maxim. This is expected. Initialization of the fiftyone package occurs when it is imported for the first time. There is actually very little we can at install time. Really nothing. That is the beauty of wheels and pip.

volkov-maxim commented 2 years ago

Hi @benjaminpkane. What can I do in this situation? Do I need run import fiftyone command in python ?

benjaminpkane commented 2 years ago

Hi @benjaminpkane. What can I do in this situation? Do I need run import fiftyone command in python ?

Yes

volkov-maxim commented 2 years ago

Result of import python:

(Project) user@MacBook-Air ~ % python3
Python 3.8.10 (v3.8.10:3d8993a744, May  3 2021, 09:09:08) 
[Clang 12.0.5 (clang-1205.0.22.9)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import fiftyone
Uncaught exception
Traceback (most recent call last):
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/core/odm/database.py", line 103, in establish_db_conn
    _db_service = fos.DatabaseService()
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/core/service.py", line 80, in __init__
    self.start()
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/core/service.py", line 231, in start
    super().start()
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/core/service.py", line 118, in start
    + self.command,
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/core/service.py", line 260, in command
    DatabaseService.find_mongod(),
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/core/service.py", line 336, in find_mongod
    raise ServiceExecutableNotFound("Could not find `mongod`")
fiftyone.core.service.ServiceExecutableNotFound: Could not find `mongod`

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/__init__.py", line 25, in <module>
    from fiftyone.__public__ import *
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/__public__.py", line 14, in <module>
    foo.establish_db_conn(config)
  File "/Users/user/Projects/Project/lib/python3.8/site-packages/fiftyone/core/odm/database.py", line 118, in establish_db_conn
    raise FiftyOneConfigError(
fiftyone.core.config.FiftyOneConfigError: MongoDB is not yet supported on Apple Silicon Macs. Please define a `database_uri` in your `fiftyone.core.config.FiftyOneConfig` to define a connection to your own MongoDB instance or cluster
benjaminpkane commented 2 years ago

Apple Silicon Mac's are not quite supported yet. You can track the issue here. Apologies

Using docker and our Dockerfile in the meantime is a viable alternative:

volkov-maxim commented 2 years ago

Thank you for alternative!

brimoor commented 2 years ago

Some Apple silicon users have reported success self-installing MongoDB and configuring FiftyOne to use that. See this docs page for details.

volkov-maxim commented 2 years ago

I can't configure FiftyOne because ~/.fiftyone dir is absent

benjaminpkane commented 2 years ago

FiftyOne doesn't require a ~/.fiftyone for configuration. Environment variables can be used, e.g.

FIFTYONE_CONFIG_PATH=~/.fiftyone/config.json # the default, change accordingly

Configuration details can be found here

benjaminpkane commented 2 years ago

You are free to create the ~/.fiftyone directory manually of course, but that is beyond the point. But again, it will be created if necessary upon import.

volkov-maxim commented 2 years ago

@benjaminpkane I will try to config with environment variables. Thank you.