admin 管理员组文章数量: 1184232
Python项目的目录设置 VSCode Pycharm
目录
- 一、路径获取说明
- 运行目录路径
- 当前文件路径
- 二、无法导入Python Package
- 原因
- 解决方案
- 三、Pycharm配置
- 运行目录路径配置
- 导入自己的Python Package
- 将Package设置为Sources Root
- 四、VSCode配置
- 运行目录路径配置
- 1. Debug路径设置
- 2. IDE运行路径设置
- 导入自己的Python Package
- 五、VSCode Jupyter配置
- 运行目录路径配置
一、路径获取说明
运行目录路径
- 绝对路径 (二者等价)
os.path.abspath(".")
os.getcwd()
理解:运行目录路径, 即命令行运行时的路径.
举例:
/home/winnie/Project/segmentation_models
(pytorch) winnie@winnie:~/Project/segmentation_models$ python tools/test_unet.py
os.path.abspath("."):
/home/winnie/Project/segmentation_models
os.getcwd():
/home/winnie/Project/segmentation_models
/home/winnie/Project/segmentation_models/tools
(pytorch) winnie@winnie:~/Project/segmentation_models/tools$ python test_unet.py
os.path.abspath("."):
/home/winnie/Project/segmentation_models/tools
os.getcwd():
/home/winnie/Project/segmentation_models/tools
当前文件路径
- 文件绝对路径
os.path.abspath(__file__) - 文件相对路径
os.path.dirname(__file__)
举例:
同一文件绝对路径是一样的,相对路径是相对于运行目录的。
(pytorch) winnie@winnie:~/Project/segmentation_models$ python tools/test_unet.py
os.path.abspath(__file__): /home/winnie/Project/segmentation_models/tools/test_unet.py
os.path.dirname(__file__): tools
(pytorch) winnie@winnie:~/Project/segmentation_models/tools$ python test_unet.py
os.path.abspath(__file__): /home/winnie/Project/segmentation_models/tools/test_unet.py
os.path.dirname(__file__):
二、无法导入Python Package
原因
无法导入Python Package, 这是因为它所在的目录不在sys.path中。
解决方案
参考文档: 文件夹加入到sys.path
举例:
MODULE_PATH = os.path.abspath(".")
if MODULE_PATH not in sys.path:sys.path.append(MODULE_PATH)
注意,MODULE_PATH根据项目运行路径而改变。
比如,当MODULE_PATH要求为项目地址时(最常见),此时命令行目录为项目根目录。
三、Pycharm配置
运行目录路径配置
Run -> Edit Configurations, 将Working Directory设置成项目根目录。此时,运行与调试均基于项目根目录。
导入自己的Python Package
使用(二)中的解决方案,命令行运行、IDE运行和调试均没有问题。
美中不足:
通过sys.path.append添加Package时,代码可以正常运行。
但是在IDE显示中,import package会被标红。(实际影响不大,但看起来很不舒服,而且相关函数无法通过command+点击进行链接)
将Package设置为Sources Root
参考博客
选中文件夹右键 -> Mark Directory as -> Sources Root
问题解决:
此时上面提到的问题解决,IDE中不会标红。
四、VSCode配置
运行目录路径配置
1. Debug路径设置
在launch.json中,添加cmd:
{"version": "0.2.0","configurations": [{"name": "Python: Current File","type": "python","request": "launch","program": "${file}","console": "integratedTerminal","cwd": "${fileDirname}" //${workspaceFolder}}]
}
2. IDE运行路径设置
IDE运行路径与Terminal运行路径一致,只需调整Terminal运行路径即可。
导入自己的Python Package
使用(二)中的解决方案,添加Python Package。
美中不足:
代码可以正常运行,但是在IDE显示中,import package会被标红。(实际影响不大,但看起来很不舒服)
五、VSCode Jupyter配置
运行目录路径配置
Preference -> Settings -> Python Notebook File Root
将${fileDirName}修改成${workspaceFolder}.
此时,os.path.abspath("."),os.getcwd()均为项目根目录。sys.path也是项目根目录。
本文标签: Python项目的目录设置 VSCodePycharm
版权声明:本文标题:Python项目的目录设置 VSCodePycharm 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.roclinux.cn/p/1698029592a283522.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论