Как исправить: KeyError: '__file__' в sitecustomize.py (anaconda3) при использовании файла запуска (F5) - PullRequest
0 голосов
/ 29 мая 2019

Приведенный ниже скрипт отлично работает при запуске с (F9).При запуске с (F5) он все еще работает (все операции выполняются нормально), но выдает следующую ошибку:

Файл "", строка 1, в runfile ('S: / Fakultaet / MFZ/NWFZ/AGdeHoz/Philipp/Python/Analysis_script.py',wdir='S:/Fakultaet/MFZ/NWFZ/AGdeHoz/Philipp/Python')

Файл "c: \ anaconda3 \ lib \ site-"packages \ spyder \ utils \ site \ sitecustomize.py ", строка 709, в исполняемом файле namespace.pop (' file ')

KeyError: ' file '

Я хотел бы знать, что происходит и как это исправить.

Я прочитал кое-что о проблеме с вложением, поэтому я выбрал часть, где я импортирую свою собственную функцию, а такжечасть, где я использую это.Ошибка все еще сохраняется.Так что это по крайней мере не имеет ничего общего с моей собственной функцией.

from IPython import get_ipython
get_ipython().magic('%reset -f')
import time
tic = time.time()
import sys
import os
import pickle
import CSC_getdata_timestamps

General_folder = 'Data' #where processed data will be saved
filename_extension =  '_Sleep_auditory'; #file extension name
Database_name = 'mydata.obj' #name of database
ExpDates = 'ExpDates.obj' #name of object containing all experimental 
dates
root = r"S:\Fakultaet\MFZ\NWFZ\AGdeHoz\Philipp" #root directory (data 
location)
AnalyType = "LFP" #"SP" Local field potential or Spike analysis
spr = 30000 #sample rate
Cname = "CH"
file_md = open(r"S:\Fakultaet\MFZ\NWFZ\AGdeHoz\Philipp\Data\Database\\" + 
           Database_name, "rb")
md = pickle.load(file_md)
file_ExpDates = 
open(r"S:\Fakultaet\MFZ\NWFZ\AGdeHoz\Philipp\Data\Database\\" + 
                 ExpDates, "rb")
ExpDates = pickle.load(file_ExpDates)

for mi, expdates in enumerate(ExpDates):

    day = expdates
    mouse = md[expdates]['mouse']
    files = md[expdates]['rectime']
    filesm = md[expdates]['FRAm'] + md[expdates]['REMm'] + md[expdates] 
    ['SWSm'] + md[expdates]['awakem']
    rect = md[expdates]['rect']
    filest = [md[expdates]['FRAt'], md[expdates]['REMt'], md[expdates] 
    ['SWSt'], md[expdates]['awaket']]
    channels = md[expdates]['channels']


    for f, files_m in enumerate(filesm):

        try:
            if len(files) == 1:
                recname = files
            else:
                tfiles = []
                tfilesm = []
                for i, file in enumerate(files):
                    tfiles.append(int(files[i][0:2]) * 60 + int(files[i] 
                    [3:5]))

                tfilesm = int(files_m[f][0:2]) * 60 + int(files_m[f] 
                [3:5])
                recidx = [i for i in range(len(tfiles)) if tfiles[i] < 
                tfilesm]
                recname = files[recidx[-1]]

            TS0 = (int(rect[0:2]) * 3600 + int(rect[3:5]) * 60 + 
            int(rect[6:8])) * spr
            TS1 = TS0 + (int(filest[f][0][0:2]) * 3600 + int(filest[f][0] 
            [3:5]) * 60 + int(filest[f][0][6:8])) * spr
            TS2 = TS0 + TS1 + (int(filest[f][1][0:2]) * 3600 + 
            int(filest[f][1][3:5]) * 60 + int(filest[f][1][6:8])) * spr
            TS = [TS1, TS2]

            savename = files_m[0:2] + "-" + files_m[3:5]

            if AnalyType == "LFP":
                if not os.path.exists(root + "\Data\Raw" + 
                filename_extension + "\LFP\\" + day):
                    os.makedirs(root + "\Data\Raw" + filename_extension + 
                    "\LFP\\" + day)
                else:
                    print("Directory already exists.")

            elif AnalyType == "SP":
                if not os.path.exists(root + "\Data\Raw" + 
                filename_extension + "\SP\\" + day):
                    os.makedirs(root + "\Data\Raw" + filename_extension + 
                    "\SP\\" + day)
                else:
                    print("Directory already exists.")
            else:
                sys.exit("Invalid type of analysis. Check variable 
                AnalyType.")


            varlist, trseq, trlength, stlength, ntrials, datacscini, 
            samplefreq, tscsc, tstrig = 
            CSC_getdata_timestamps.CSC_getdata_timestamps(root, day, 
            savename, recname, channels, AnalyType, TS)

            print(trseq)




        except Exception as e:
            print('Error: ' + str(e))
            print('mi = {}, f = {}'.format(mi, f))

toc = round(time.time() - tic, 2)
print("elapsed time:", toc, "seconds")

Весь сценарий состоит в объединении данных из (1) записанной базы данных с (2) кадром данных, который включает в себя характеристики воспроизводимого звука.во время (3) записи.простите, если написано очень не пифонично, я только недавно перешел с Matlab.Скрипт для приложения в неврологии.

1 Ответ

0 голосов
/ 29 мая 2019

( Сопровождающий Spyder здесь ) Эта ошибка исправлена ​​в нашей последней версии ( 3.3.4 ).Пожалуйста, обновите, открыв приглашение Anaconda и запустив там

conda install spyder=3.3.4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...