[英]Adding source root to Python project structure VS Code
這個問題似乎已經很普遍了一段時間,但在搜索了 stackoverflow、reddit 和 vscode 文檔后,我很想找到答案。 我想我會在這里再試一次。 在 PyCharm 中,您可以轉到“項目結構”並添加源根文件夾以解決相關的導入和 pylint 問題,如下所述: https ://www.jetbrains.com/help/pycharm/configuring-project-structure.html。
有沒有辦法在 VSCode 中實現這個功能?
我只是浪費了 2 個小時試圖讓 pylint 識別從本地路徑導入的模塊,但終於讓它工作了。
我將根添加到“python.autoComplete.extraPaths”,但這僅影響自動完成,而不影響 pylint!
為此,我必須在 virtualenv 中安裝該項目。
首先,確保您指向 virtualenv 中的解釋器。 這是我的 VSCODE 工作區設置的樣子:
{
"python.linting.pylintEnabled": true,
"python.pythonPath": "/home/andrew/virtualenvs/eks/bin/python",
"python.linting.pylintPath": "/home/andrew/virtualenvs/eks/bin/pylint",
"python.autoComplete.extraPaths": ["/other/repos/eks"],
"python.linting.pylintArgs": [
"--disable=C0111", // missing docstring
"--load-plugins=pylint_django"
],
}
其次,在 virtualenv 處於活動狀態時,將當前目錄安裝為符號鏈接,如下所示:
pip install -e .
為了使項目可安裝,您需要一個setup.py文件,它只需要如下所示:
from setuptools import setup
setup()
當然,您可以使用setup.cfg文件的設置機制來控制依賴項,但是如果您遇到此問題,那么您很可能不會在您的項目中這樣做,因此以上是您需要的最低限度工作。
當然,這一切都是有道理的。 pylint 是如何指向你的 virtualenv 中的 python 解釋器的,它應該知道其他地方的 rot 目錄?
聽起來您在使用"python.autoComplete.extraPaths"
設置,該設置可讓您列出路徑數組以查找用於自動完成的包。 至於 Pylint, 通過.env
文件設置你的PYTHONPATH
可能是你所追求的。
這是我在這個問題上搜索了一段時間后發現的。
extraPath
,並將相對路徑添加到“Python > Analysis: Extra Paths”。 假設最新版本的 vscode 和 pylance。extraPath
--- 只是這次您將放入當前文件夾的相對路徑(在磁盤上),例如../<your another folder>/src/python
。 並且設置在“文件夾設置”而不是“用戶”或“工作區”設置中。 這也必須為每個根文件夾完成。希望以上有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.