Errore Forbidden Unicode data

e
edoardo98 (240 points)
1 2 3
asked Oct 29, 2021 in HW2 by edoardo98 (240 points)
Ciao a tutti,

Sto provando a risolvere l’hw2. E ho trovato un modo che apparentemente, testandolo nel main da i valori aspettati per alcuni test. Tuttavia, eseguendo i test dal terminale mi da questo errore anche per i test che danno i valori aspettati:

ForbiddenError The import of unicode data is forbidden

A me sembra un errore come se avessi importato una libreria esterna, cosa che ovviamente non ho fatto.

Suggerimenti su cosa potrebbe essere?
226 views

4 Answers

Exyss (21080 points)
1 2 79
answered Oct 29, 2021 by Exyss (21,080 points)
Quando puoi posta l'intero log dell'errore, altrimenti è un po' difficile capire il problema senza sapere dove si verifica
e
edoardo98 (240 points)
1 2 3
commented Oct 29, 2021 by edoardo98 (240 points)

    def test_simple2(self):

        k        = 3

        matches  = ["aaa", "bbb", "ccc", "ddd", "eee"]

        expected = [3, 4, 2, 0, 1]

>       return self.do_test(matches, k, expected)

test_01.py:70:

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

test_01.py:31: in do_test

    import program01 as program

testlib.py:46: in _check_import

    return self.__orig_import(*args, **kargs)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('unicodedata', {'BuiltinImporter': <class '_frozen_importlib.BuiltinImporter'>, 'FrozenImporter': <class '_frozen_imp...ec': <class '_frozen_importlib.ModuleSpec'>, '_DeadlockError': <class '_frozen_importlib._DeadlockError'>, ...}, [], 0)

kargs = {}, name = 'unicodedata'

rest = [{'BuiltinImporter': <class '_frozen_importlib.BuiltinImporter'>, 'FrozenImporter': <class '_frozen_importlib.FrozenIm...ec': <class '_frozen_importlib.ModuleSpec'>, '_DeadlockError': <class '_frozen_importlib._DeadlockError'>, ...}, [], 0]

    def _check_import(*args, **kargs):

        name, *rest = args

        if name in forbidden or (not forbidden and name not in allowed):

            print(f"Importing {name} (globals, locals, {rest[-2:]}) (not allowed)")

>           raise ForbiddenError(f"The import of '{name}' is forbidden")

E           testlib.ForbiddenError: The import of 'unicodedata' is forbidden

testlib.py:44: ForbiddenError

Mi da questo errore. come detto se provo sul mio ideale a fare lo stesso identico test lo passa

Exyss (21080 points)
1 2 79
commented Oct 29, 2021 by Exyss (21,080 points)

Sei sicuro di aver rinonimato il file del programma in program01.py?

Altrimenti, visto che gli errori sono simili, prova con la stessa soluzione proposta in questo thread, ossia prova ad eliminare  la riga

self.check_imports(allowed=['program01','_io']), \

nel file test_01.py alla funzione do_test()

e
edoardo98 (240 points)
1 2 3
commented Oct 29, 2021 by edoardo98 (240 points)
Ok si adesso ho risolto, grazie mille!!
Wahya (7760 points)
1 2 15
answered Oct 29, 2021 by Wahya (7,760 points)
Sembra un poblema con l'encoding da qualche parte nel tuo programma.

Hai usato qualche metodo tipo string.encode() o string.decode() ?

Controlla che il file python sia encoded in utf8
e
edoardo98 (240 points)
1 2 3
commented Oct 29, 2021 by edoardo98 (240 points)
Non uso quei metodi, sono su Mac OS quindi non penso che il problema sia l'utf-8 che dovrebbe essere di default. poi comunque nel primo hw facoltativo non mi ha dato nessun problema
andrea.sterbini (168140 points)
488 897 1729
answered Oct 29, 2021 by andrea.sterbini (168,140 points)
Questo tipo di errori nasce quando pytest cerca di caricare una libreria necessaria a stampare un errore.

Disattivate i controlli per capire se andate in timeout o se date un output errato
1
1872217 (290 points)
3 6 7
commented Oct 30, 2021 by 1872217 (290 points)
Professore io ho eliminato la riga come suggerito dai threads precedenti e funziona, va bene?
andrea.sterbini (168140 points)
488 897 1729
commented Oct 30, 2021 by andrea.sterbini (168,140 points)
Vedi come va sulla vm
1
1872217 (290 points)
3 6 7
commented Oct 30, 2021 by 1872217 (290 points)
Nella vm ho superato tutti i test correttamente!
andrea.sterbini (168140 points)
488 897 1729
commented Oct 30, 2021 by andrea.sterbini (168,140 points)

ottimo! cool               .

a.manieri (410 points)
0 0 3
answered Oct 30, 2021 by a.manieri (410 points)
Ciao Edoardo,

Controlla di non aver utilizzato caratteri accentati (o particolari) nel codice