ImportError: abjad was not found; LilyPond output is not available

Description:

Hello community! Can’t seem to find my way around this. I have installed LilyPond and Abjad and still getting this error…

Error printout:

ImportError: abjad was not found; LilyPond output is not available.

(Place the error printout here)
fer@Fernandos-MacBook-Pro ~ % /usr/local/bin/python3 /Users/fer/notation
WARNING:root:python-rtmidi was not found; streaming midi input / output will not be available.
WARNING:root:pynput was not found; mouse and keyboard input will not be available.
Using preset Clarinet for clarinet
Using preset Bassoon (Rea) for bassoon
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/scamp/_dependencies.py", line 134, in abjad
    import abjad as abjad_library
ModuleNotFoundError: No module named 'abjad'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/fer/notation", line 34, in <module>
    performance.to_score().show()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/scamp/score.py", line 655, in show
    assert abjad() is not None, "Abjad is required for this operation."
           ^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/scamp/_dependencies.py", line 136, in abjad
    raise ImportError("abjad was not found; LilyPond output is not available.")
ImportError: abjad was not found; LilyPond output is not available.
fer@Fernandos-MacBook-Pro ~ % 

# The full code that resulted in the error:
```python3
from scamp import * 
import random

s = Session()

s.fast_forward_to_beat(100)

clarinet = s.new_part("clarinet")
bassoon = s.new_part("bassoon")

bass_notes = [58, 57, 56, 55, 54, 51, 53, 41] * 2 + [46, 47, 48, 49, 50, 53, 56, 55, 52, 53]

clarinet_patterns = [[20, 15, 20], [None, 12, 14, 15], [None, 15, 9, 12], [19, 17, 16], [16]]

def bassoon_part():
        for bass_note in bass_notes:
            bassoon.play_note(bass_note, 1, 1)

def clarinet_part():
        for bass_note in bass_notes:
            pattern = random.choice(clarinet_patterns)
            note_length = 1/len(pattern)
            for interval in pattern:
                if interval is None:
                    wait(note_length)
                else:
                    clarinet.play_note(bass_note + interval, 1.0, note_length)

s.start_transcribing()
s.fork(clarinet_part)
s.fork(bassoon_part)
s.wait_for_children_to_finish()
performance = s.stop_transcribing()
performance.to_score().show()
1 Like