Не удалось установить пакеты из-за ошибки EnvironmentError: [Errno 28] На устройстве не осталось места

Другим возможным решением является реализация подкласса dict, который содержит оригинальный словарь и отслеживает его обратную версию. Сохранение двух отдельных dicts может быть полезно, если клавиши и значения перекрываются.

class TwoWayDict(dict):
    def __init__(self, my_dict):
        dict.__init__(self, my_dict)
        self.rev_dict = {v : k for k,v in my_dict.iteritems()}

    def __setitem__(self, key, value):
        dict.__setitem__(self, key, value)
        self.rev_dict.__setitem__(value, key)

    def pop(self, key):
        self.rev_dict.pop(self[key])
        dict.pop(self, key)

    # The above is just an idea other methods
    # should also be overridden. 

Пример:

>>> d = {'a' : 1, 'b' : 2} # suppose we need to use d and its reversed version
>>> twd = TwoWayDict(d)    # create a two-way dict
>>> twd
{'a': 1, 'b': 2}
>>> twd.rev_dict
{1: 'a', 2: 'b'}
>>> twd['a']
1
>>> twd.rev_dict[2]
'b'
>>> twd['c'] = 3    # we add to twd and reversed version also changes
>>> twd
{'a': 1, 'c': 3, 'b': 2}
>>> twd.rev_dict
{1: 'a', 2: 'b', 3: 'c'}
>>> twd.pop('a')   # we pop elements from twd and reversed  version changes
>>> twd
{'c': 3, 'b': 2}
>>> twd.rev_dict
{2: 'b', 3: 'c'}
0
задан Vamshi 11 March 2019 в 13:41
поделиться

1 ответ

Скорее всего, он пытается загрузить данные во временную папку / tmp. Я предполагаю, что настройки по умолчанию (обычно половина вашей оперативной памяти) слишком малы для обработки загрузки.

Вы можете отключить монтирование tmp с помощью следующей команды: systemctl mask tmp.mount. Будьте внимательны и сделайте свое исследование, прежде чем делать это.

В качестве альтернативы вы можете установить каталог TMPDIR на /var/tmp, выполнив следующее export TMPDIR='/var/tmp'

0
ответ дан Albert Lee 11 March 2019 в 13:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: