我已经在几个子目录树中组织了自己的Python脚本,从父目录“脚本”开始,该目录已包含在settings-json中的"python.autoComplete.extraPaths"
中:
"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
所有这些都很好完成了[[之前,其中我的所有脚本仅在[[超过1个单一目录级别分发,就像这样:
+---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脚本时以下行,我为以下每个导入获取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
-行也无效。
我已经在几个子目录的树中组织了自己的Python脚本,从父目录“ Scripts”开始,该目录已经包含在“ python.autoComplete.extraPaths” ...