Do you need any help?

Errore Forbidden Unicode data

e
edoardo98 (250 points)
1 2 3
asked Oct 29, 2021 in HW2 by edoardo98 (250 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?
254 views

4 Answers

Exyss (21390 points)
1 2 79
answered Oct 29, 2021 by Exyss (21,390 points)
Quando puoi posta l'intero log dell'errore, altrimenti è un po' difficile capire il problema senza sapere dove si verifica
e
edoardo98 (250 points)
1 2 3
commented Oct 29, 2021 by edoardo98 (250 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 (21390 points)
1 2 79
commented Oct 29, 2021 by Exyss (21,390 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 (250 points)
1 2 3
commented Oct 29, 2021 by edoardo98 (250 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 (250 points)
1 2 3
commented Oct 29, 2021 by edoardo98 (250 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 (172780 points)
513 935 1789
answered Oct 29, 2021 by andrea.sterbini (172,780 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 (172780 points)
513 935 1789
commented Oct 30, 2021 by andrea.sterbini (172,780 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 (172780 points)
513 935 1789
commented Oct 30, 2021 by andrea.sterbini (172,780 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