Font Bakery installation problems

Ramiro Espinoza
Ramiro Espinoza Posts: 839
edited August 2021 in Font Technology
Hi there,
I've tried to install Font Bakery under Big Sur but I can't go beyond the command:
pip3 install fontbakery
because the terminal will always return:
Killed: 9
Any idea on how to sort this out?
TIA.
R.
Tagged:

Comments

  • Could you post an issue here and please include the full output of the pip command? I'll take a look.
  • No problem. FYI, "Killed: 9" is the full output.
  • Urgh. Your Python installation is in a bad way.
  • What should I do then?
  • Warning: python@3.9 3.9.6 is already installed and up-to-date.
    Python seems to be installed but if I run 'pyhton3' or 'pip3' I always get a 'Killed: 9' :s
  • "Killed: 9" is basically an out of memory error. But you shouldn't get one just from running pip. Can you try "which python3" to see if you're using the system Python or homebrew's?
  • John Hudson
    John Hudson Posts: 3,126
    Have you tried installing FB in a Python virtual environment to minimise possible conflicts?
  • @Simon Cozens Yes, then I get:
    /Library/Frameworks/Python.framework/Versions/3.4/bin/python3
  • So that's the system Python, which is even more concerning, since that *really* shouldn't be dying on you at the drop of a hat. I'd mitigate the problem by running "brew link python@3.9" to make Homebrew's Python into the one that is run at the command line, but something is sick with your OS installation.
  • FWIW, I think your current problem is caused by following advice like "brew link python@3.9" in the past: you have python 3.4 as system python, 3.9.x via homebrew (and installed under /usr/local/), and part of pip3 install could go under ~/.local/lib/python3.9 or ~/.local/lib/python3.4 , depending on whereher you ran 3.4's pip3 or 3.9's pip3.

    If it is not a fresh new machine, it is likely your pip3 expects stuff to be under 
    ~/.local/lib/python3.8 or 3.7 or 3.3/3.2 too, from past installations.

    Mostly I would say stick with the system python, whichever version it is, unless you have a strong reason to do otherwise.

    As it is likely you have leftover python package bits associated with different version of python, and the solution is to examine and scrub all 3 locations (/Library/Frameworks/Python.framework/Versions , /usr/local, and ~/.local/ ) of dubious content.

    Signal 9 is sigkill, it being killed by something else or self-destruct. Memory access violation is sigsegv (segmentation fault, 11) but often it gets killed by a sigabrt (6) instead.
  • I generally try to avoid homebrew. It always breaks after a while. On my office Mac, I installed a current version of vim via homebrew and now even that crashes on launch.

    And remember: “Homebrew Python Is Not For You

    I haven't had any problems with the Python installers from python.org. Many font-related Python modules now require Python 3.7+.
  • I second @Jens Kutilek 's suggestion: if you need higher python version that Apple ships, the python people have at least bothered enough to do their installer in the apple way.

    @Ramiro Espinoza I would suggest getting yourself signed up at github so you can ask for guidance at fontbakery's issue tracker directly. While the main developer of fontbakery is somewhat a diehard Linux-head, there are enough mac-centric devs there to help. 

    You have three locations to watch out for dubious content :

    1.  /Library/Frameworks/Python.framework/Versions

    where Apple put their stuff there . Generally you'd like to leave that alone; they should all have more or less the same time stamp (same as the age of your OS or your last OS upgrade) ; watch out for files substantially newer than the rest: that indicates you may have followed bad advice in the past to polute what is meant to be a apple-only location.

     2. /usr/local , where homebrew (and other more unix-like instructions) installs things . In general, if you don't like anything under there, you can remove it. On new installation, it has a few empty sub-directories. The worst thing that would happen is some new extra small software that you install yourself since you got your box needs reinstalling.

    3. ~/.local/ (or where per-user python stuff is installed) is a little more complicated. Perhaps you can start with posting the output of `du ~/.local/` , and if the output not too long `ls -lR ~/.local`. You may want to keep some of it so we need to know what is there first.

  • Hin-Tak Leung
    Hin-Tak Leung Posts: 360
    edited August 2021
    There is one more place to clean: ~/.cache/pip/ (pip3 is just python 3 version of pip, when both python 2 and 3 are present). It is where pip keeps some cache files. It is safe to delete it all - whatever is missing and needed for the next run will be downloaded again . Cleaning it out might be useful in case your problem is due to a previous corrupted / incomplete download which somehow wedges itself in, like a download that is broken but claims to be complete.