aimhubio / aim

Aim 💫 — An easy-to-use & supercharged open-source experiment tracker.
https://aimstack.io
Apache License 2.0
5.21k stars 320 forks source link

Aim UI does not open at all within Jupyterlab notebook with `%loadext` #2672

Open adivekar-utexas opened 1 year ago

adivekar-utexas commented 1 year ago

🐛 Bug

When trying the documented steps to open the AIM UI on jupyter on my local laptop, it fails with an error.

To reproduce

Install aim (I have aim==3.17.3) pip install -U aim

From JupyterLab:

%load_ext aim

%aim up 

Passing "--repo=" also does not work:

%load_ext aim

%aim up   --repo="/Users/adivekar/my_project/"

In both cases, I get the following error.

Notes:

 /Users/adivekar/miniconda3/envs/eps2.2/lib/python3.10/site-packages/IPython/core/interactiveshel │
│ l.py:2369 in run_line_magic                                                                      │
│                                                                                                  │
│   2366 │   │   │   if getattr(fn, "needs_local_scope", False):                                   │
│   2367 │   │   │   │   kwargs['local_ns'] = self.get_local_scope(stack_depth)                    │
│   2368 │   │   │   with self.builtin_trap:                                                       │
│ ❱ 2369 │   │   │   │   result = fn(*args, **kwargs)                                              │
│   2370 │   │   │                                                                                 │
│   2371 │   │   │   # The code below prevents the output from being displayed                     │
│   2372 │   │   │   # when using magics with decodator @output_can_be_silenced                    │
│                                                                                                  │
│ /Users/adivekar/miniconda3/envs/eps2.2/lib/python3.10/site-packages/aim/ext/notebook/notebook.py │
│ :219 in execute_magic_aim                                                                        │
│                                                                                                  │
│   216 │   │   return                                                                             │
│   217 │                                                                                          │
│   218 │   # call corresponding handler                                                           │
│ ❱ 219 │   handlers[command](options, context)                                                    │
│   220                                                                                            │
│   221                                                                                            │
│   222 def load_ipython_extension(ipython):                                                       │
│                                                                                                  │
│ /Users/adivekar/miniconda3/envs/eps2.2/lib/python3.10/site-packages/aim/ext/notebook/notebook.py │
│ :168 in up                                                                                       │
│                                                                                                  │
│   165 │   │   │   display_id=True,                                                               │
│   166 │   │   )                                                                                  │
│   167 │                                                                                          │
│ ❱ 168 │   result = manager.run_process(UP_NAME, options)                                         │
│   169 │                                                                                          │
│   170 │   if result.status == manager.ManagerActionStatuses.Failed:                              │
│   171 │   │   print(result.info["message"])                                                      │
│                                                                                                  │
│ /Users/adivekar/miniconda3/envs/eps2.2/lib/python3.10/site-packages/aim/cli/manager/manager.py:1 │
│ 16 in run_process                                                                                │
│                                                                                                  │
│   113 │   │   )                                                                                  │
│   114 │                                                                                          │
│   115 │   run = __get_command_runner(command)                                                    │
│ ❱ 116 │   return run(args)                                                                       │
│   117                                                                                            │
│                                                                                                  │
│ /Users/adivekar/miniconda3/envs/eps2.2/lib/python3.10/site-packages/aim/cli/manager/manager.py:3 │
│ 7 in run_up                                                                                      │
│                                                                                                  │
│    34 │                                                                                          │
│    35 │   success_msg = 'Open http://{}:{}{}'.format(args['--host'], args['--port'], args['--b   │
│    36 │                                                                                          │
│ ❱  37 │   child_process = subprocess.Popen(                                                      │
│    38 │   │   ['aim', UP_NAME] + args_list + ['--force-init'],                                   │
│    39 │   │   stderr=subprocess.PIPE,                                                            │
│    40 │   │   stdout=subprocess.PIPE                                                             │
│                                                                                                  │
│ /Users/adivekar/miniconda3/envs/eps2.2/lib/python3.10/subprocess.py:969 in __init__              │
│                                                                                                  │
│    966 │   │   │   │   │   self.stderr = io.TextIOWrapper(self.stderr,                           │
│    967 │   │   │   │   │   │   │   encoding=encoding, errors=errors)                             │
│    968 │   │   │                                                                                 │
│ ❱  969 │   │   │   self._execute_child(args, executable, preexec_fn, close_fds,                  │
│    970 │   │   │   │   │   │   │   │   pass_fds, cwd, env,                                       │
│    971 │   │   │   │   │   │   │   │   startupinfo, creationflags, shell,                        │
│    972 │   │   │   │   │   │   │   │   p2cread, p2cwrite,                                        │
│                                                                                                  │
│ /Users/adivekar/miniconda3/envs/eps2.2/lib/python3.10/subprocess.py:1845 in _execute_child       │
│                                                                                                  │
│   1842 │   │   │   │   │   │   err_filename = orig_executable                                    │
│   1843 │   │   │   │   │   if errno_num != 0:                                                    │
│   1844 │   │   │   │   │   │   err_msg = os.strerror(errno_num)                                  │
│ ❱ 1845 │   │   │   │   │   raise child_exception_type(errno_num, err_msg, err_filename)          │
│   1846 │   │   │   │   raise child_exception_type(err_msg)                                       │
│   1847                                                                                           │
│   1848                                                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
FileNotFoundError: [Errno 2] No such file or directory: 'aim'

Expected behavior

It should open as shown on the docs: https://aimstack.readthedocs.io/en/latest/using/jupyter_notebook_ui.html

Environment

Additional context

gorarakelyan commented 1 year ago

@adivekar-utexas thanks for reporting. Seems it can not find the aim repo. We will take a look into this.

a3sha2 commented 1 year ago

pls @gorarakelyan pls is this issues resolve, very import for me and my team pls