Я организовал свои самописные сценарии Python в дереве нескольких подкаталогов, начиная с родительского каталога "Сценарии", который уже включен в "python.autoComplete.extraPaths"
в настройках- json:
"python.autoComplete.extraPaths": ["/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts",
"/home/andylu/anaconda3/lib/python3.7/site-packages"]
Кроме того, я включил Python файл среды:
"python.envFile": "/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Visual_studio_code/vscode_own_scripts.env"
, который содержит строку
export PYTHONPATH=/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts:/home/andylu/anaconda3/lib/python3.7/site-packages
Все это отлично сработало до , где все мои сценарии были распределены просто по одному уровню каталогов , например так:
+---Scripts
| +---General
| | +---script_one.py
| | +---script_two.py
Когда я импортировал в любой python -скрипт, например script_one.py
, я запустил скрипт с
import sys
sys.path.append(
"/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts/"
)
import General.script_one as one
и Pylint правильно распознал этот импортированный скрипт , не выдав вышеупомянутый VS Code pylint(import-error)
.
Теперь ситуация изменилась. Сценариев стало так много, что я разделил подпапку General
на , содержащую дополнительный уровень подкаталога , чтобы организовать сценарии более четко :
+---Scripts
| +---General
| | +---Plotting
| | | +---script_one.py
| | | +---script_two.py
| | +---Misc
| | | +---script_three.py
| | | +---script_four.py
....
При запуске Python scr например, с помощью следующих строк: Я получаю VS Code pylint(import-error)
для каждого из следующих импортов.
# Package importing
import sys
sys.path.append(
"/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts/"
)
import General.Plotting.auxiliary_plotting_functions as aux_plot
import General.Plotting.plotting as plot
#%%
# TIME MEASUREMENT for the entire code/function
import General.Misc.timing
Я не знаю, почему Pylint прекратил распознавать импорт всех внезапно, просто потому, что я добавил дополнительный уровень подкаталога. Мне бы хотелось, чтобы эти бессмысленные ошибки импорта в Pylint исчезли, поскольку при выполнении кодов эффективно выполняются правильные импорты суб-моделей.
Я даже пытался изменить файл .pylintrc
-, который находится под /home/andylu/anaconda3/pkgs/pylint-2.3.1-py37_0/lib/python3.7/site-packages/pylint/test/regrtest_data/.pylintrc
:
[MASTER]
optimize-ast=no
init-hook='import sys; sys.path.append("/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts")'
Добавление строки init-hook
также не дало эффекта.