Ты используешь относительный путь, а этот путь отсчитывается не от расположения скрипта, а от
текущей директории. Она может совпадать или не совпадать с расположением скрипта, в зависимости от того, как его запускать.
Если тебе прямо очень нужен файл именно в директории скрипта, надёжнее сделать вот так:
import sys
import os
script_dir = os.path.dirname(sys.argv[0])
with open(os.path.join(script_dir, 'all.json'), 'rt') as jsonfile:
data = json.load(jsonfile)