Նշում. ես կարդացել եմ Python. TypeError: պարտադիր է դաշտը type_ignores բացակայում է Jupyter notebook-ի մոդուլից, որը պարունակում է նմանատիպ խնդիր: Այնուամենայնիվ, ես դեռ խրված եմ:
Խնդիր. Ես հենց նոր թարմացրի Python 3.7.5-ից Python 3.8.5: Այնուամենայնիվ, երբ ես գործարկում եմ կոդը Jupyter Notebook-ում, ցուցադրվում է հետևյալ սխալի հաղորդագրությունը.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.8/lib/python3.8/codeop.py in __call__(self, source, filename, symbol)
139
140 def __call__(self, source, filename, symbol):
--> 141 codeob = compile(source, filename, symbol, self.flags, 1)
142 for feature in _features:
143 if codeob.co_flags & feature.compiler_flag:
TypeError: required field "type_ignores" missing from Module
Ես ստանում եմ այս հաղորդագրությունը, երբ գործարկում եմ նման կոդ
i = 1
կամ նման կոդ
import numpy as np
կամ նման կոդ
from platform import python_version
print(python_version())
Ես կարդացել եմ Python. TypeError. պարտադիր դաշտի type_ignores բացակայում է Module in Jupyter notebook-ից, որը պարունակում է նմանատիպ խնդիր: Սակայն այդ հարցի պաստառն ուներ հնացած ipython տարբերակ։ Ես արեցի ա
pip freeze
և գտա, որ ես ունեմ ամենանոր տարբերակը (7.2.0), ինչը նշանակում է, որ այդ խնդրի լուծումը չի վերաբերում այս խնդրին:
Ստորև բերված են լրացուցիչ տեղեկություններ, եթե ձեզ անհրաժեշտ է.
Ինչ ես փորձեցի. ես առաջին անգամ փորձեցի Python 3.8-ից վերադառնալ Python 3.7: Դա պայմանավորված է նրանով, որ սխալի հաղորդագրությունում նշվում էր, որ սխալը գալիս է /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.8/lib/python3.8<-ից: /strong>/codeop.py Ես փորձեցի դա անել՝ նորից ներբեռնելով pyenv և python 3.7 (նախկինում ունեի python 3.7, բայց այն անհետացել էր) և սահմանելով python տարբերակը 3.7.5՝ կարգավորելով .zshenv ֆայլը։ Այնուամենայնիվ, դա պատճառ դարձավ, որ jupyter notebook-ը և նույնիսկ emacs-ի նման ծրագրերը դադարեցնեն աշխատել նման հաղորդագրությունների հետ
command not found: jupyter
և
command not found: emacs
Վերջապես ես դա արեցի՝ ներբեռնելով python 3.7.5 pkg ֆայլը python կայքից.
python --version
ելք:
Python 3.7.5
Այնուամենայնիվ, երբ ես գործարկում եմ Jupyter Notebook-ը, ես դեռ ստանում եմ նույն սխալը, ինչ նախկինում (TypeError. պահանջվող դաշտը type_ignores բացակայում է Module-ից): Ես վախենում եմ, որ Python 3.8-ի տեղադրումը մշտական վնաս է հասցրել:
Սա իմ .zshenv ֆայլի կազմաձևումն է.
export SACAUX=SACHOME/aux
export SACHOME=/usr/local/sac
export PATH=${PATH}:${SACHOME}/bin
export PATH=SACHOME/bin
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:SACHOME/bin
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:SACHOME/bin:HOME/.pyenv/bin
export PATH=~/.pyenv/versions/3.7.5/bin:${PATH}
export PYTHONPATH=/usr/local/lib/python3.7/site-packages
FYI, (եթե սա օգտակար է), ինձ անհրաժեշտ բոլոր փաթեթները (tensorflow, numpy, scipy) գտնվում են /usr/local/lib/python3.7/site-packages-ում, python 3.7 թղթապանակում, այնպես որ ես ստիպված էի հստակ սահմանել: PYTHONPATH դեպի /usr/local/lib/python3.7/site-packages, որպեսզի Python-ը կարողանա գտնել ներմուծման փաթեթները:
Ինչ ուղղումներ կան այս TypeError-ը լուծելու համար. պահանջվող դաշտը type_ignores բացակայում է Module-ից: