KeyError при импорте локальной функции при запуске более одного раза - PullRequest
0 голосов
/ 15 октября 2019

У меня есть скрипт, в который в какой-то момент мне нужно импортировать другой скрипт. Я написал, но весь мой сценарий в Pycharm без каких-либо проблем. При первом запуске скрипта в spyder3 все идет гладко, но при втором запуске скрипта я получаю ошибку keyError при импорте. Например,

import pipeline.bTest.cTest
pipeline.bTest.cTest.main()

ошибки при втором запуске с KeyError: 'pipe'

Первый запуск всегда работает, но второй и любой последующий аварийно завершают работу с этой ошибкой, и это толькобывает в спайдер. К сожалению, мне нужно, чтобы он работал в spyder. Что может быть причиной этого?

runfile('/home/voreenpc/Documents/user/pipeline_3/run_pipeline_with_GUI.py')
Reloaded modules: tkfilebrowser, tkfilebrowser.filebrowser, tkfilebrowser.constants, tkfilebrowser.autoscrollbar, tkfilebrowser.path_button, tkfilebrowser.tooltip, tkfilebrowser.recent_files, tkfilebrowser.functions
True
True
Traceback (most recent call last):

  File "<ipython-input-5-bb711d6550c5>", line 1, in <module>
    runfile('/home/voreenpc/Documents/user/pipeline_3/run_pipeline_with_GUI.py')

  File "/usr/lib/python3/dist-packages/spyder_kernels/customize/spydercustomize.py", line 678, in runfile
    execfile(filename, namespace)

  File "/usr/lib/python3/dist-packages/spyder_kernels/customize/spydercustomize.py", line 106, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "/home/voreenpc/Documents/user/pipeline_3/run_pipeline_with_GUI.py", line 108, in <module>
    from pipeline.gui.tkinter_gui import run_gui

  File "<frozen importlib._bootstrap>", line 983, in _find_and_load

  File "<frozen importlib._bootstrap>", line 963, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 906, in _find_spec

  File "<frozen importlib._bootstrap_external>", line 1280, in find_spec

  File "<frozen importlib._bootstrap_external>", line 1246, in _get_spec

  File "<frozen importlib._bootstrap_external>", line 1115, in __iter__

  File "<frozen importlib._bootstrap_external>", line 1103, in _recalculate

  File "<frozen importlib._bootstrap_external>", line 1099, in _get_parent_path

KeyError: 'pipeline'
...