我尝试在Visual Studio Code中建立一个python项目。我的问题是创建并使用src
目录作为源根目录(就像在pycharm中一样)。我有以下目录结构:
project_name\
src\
__init__.py
dta\
__init__.py
dtapy.py
tests\
__init__.py
tet.py
我的问题发生在以下代码中:
import dta.dtapy
print('ok')
我得到的消息是:
文件“.../项目名称/scr/tests/tet.py“,第1行,在导入数据中。dtapy模块未找到错误:没有名为“dta”的模块
我尝试了几个技巧,如:
- 添加
.env
文件:PYTHONPATH=src
到根目录 - 设置
launch.json
,其中:"cwd": "${workspaceFolder}/src",
在VS代码中正确设置此功能的正确方法是什么?
4条答案
按热度按时间hc2pp10m1#
在VSCode中设置源文件夹需要一些工作。您需要为编辑器的Python环境和集成终端配置PYTHONPATH,而不是通过PyCharm UI添加源文件夹。您需要配置两次,因为不是所有的扩展都使用编辑器的Python环境来运行它们的命令。
编辑器的Python环境由Python环境变量文件配置。默认情况下,该文件位于workspaceFolder/.env
集成终端由工作区设置文件配置:.vscode/设置.json
更多信息:
9lowa7mx2#
我没有使用任何
__init__.py
文件,您的项目在Visual Studio代码中使用此project_name\.vscode\launch.json
可以正常工作:请注意添加了
PYTHONPATH
环境变量。根据
pprint(dict(os.environ))
8ulbf1ek3#
使用一个
.env
文件,带有相对路径和,改变你当前的工作可能会让事情变得混乱。我会使用.env
文件。同时删除src/__init__.py
文件,因为它是不必要的。最后,我会把你的tests/
目录从src/
上移出来,这样它就在它旁边,否则它应该在dta/
下,然后使用相对导入。p5fdfcr14#
不算是答案,但还是...
将该目录命名为
project_name
,而不是src
。与该目录中的
__init__.py
一起,创建__main__.py
文件,其中包含main
函数:这样,您就可以从项目的根目录(第一个
project_name
)启动应用:VS代码的
launch.json
配置(单击Debug部分中的齿轮图标)应该如下所示: