python找不到本地库
项目结构图如下:
工作
│
├── MyPackage
│ └── P.py
│
└── 测试
└── Test.py
导入本地库的代码
# Vscode
from MyPackages import P
# Pycharm
from MyPackages import P
上述代码中在vscode无法运行而在pycahrm中可以运行并成功找到我们的本地库P.py
这是因为Pycharm会自动将项目路径添加到Python解释器中
通过sys.path
我们可以打印解释器中的路径有哪些。 当你导入一个模块时,Python 解释器会按照 sys.path 中列出的路径顺序去搜索模块。
# Vscode
['d:\\工作\\测试',
'd:\\anaconda3\\python311.zip',
'd:\\anaconda3\\DLLs',
'd:\\anaconda3\\Lib',
'd:\\anaconda3',
'',
'd:\\anaconda3\\Lib\\site-packages',
'd:\\anaconda3\\Lib\\site-packages\\win32',
'd:\\anaconda3\\Lib\\site-packages\\win32\\lib',
'd:\\anaconda3\\Lib\\site-packages\\Pythonwin']
# Pycharm
['D:\\JetBrains\\PyCharm 2023.3.4\\plugins\\python\\helpers-pro\\jupyter_debug',
'D:\\JetBrains\\PyCharm 2023.3.4\\plugins\\python\\helpers\\pydev',
'D:\\工作\\测试',
'D:\\工作',
'D:\\anaconda3\\python311.zip',
'D:\\anaconda3\\DLLs',
'D:\\anaconda3\\Lib',
'D:\\anaconda3',
'',
'D:\\anaconda3\\Lib\\site-packages',
'D:\\anaconda3\\Lib\\site-packages\\win32',
'D:\\anaconda3\\Lib\\site-packages\\win32\\lib',
'D:\\anaconda3\\Lib\\site-packages\\Pythonwin']
可见,Vscode和Pycharm中,我们的路径中除了JB相关的,最重要的是'D\\工作'
这个路径。有了这个路径,我们的绝对引用from MyPackages import P
就能成功找到指定库。
因此,为了在vscode中总能成功找到我们需要的库,我们需要将项目路径添加到python解释器中,可通过如下代码实现:
import sys
sys.path.append("d:\\工作")
如此一来我们便可以确保在vscode中始终能找到我们项目中的本地库。
还有一种美妙的方法,见https://blog.csdn.net/ruanjianceshizl/article/details/134797818
但是这种方法在TERNIMAL生效,但jupyter不行