【问题标题】:Setting relative pythonpath for project in Windows (Visual Studio Code)在 Windows 中为项目设置相对 pythonpath (Visual Studio Code)
【发布时间】:2019-07-19 08:36:48
【问题描述】:
我正在尝试为 Python 项目建立一个环境来帮助一个朋友(在不同的操作系统上开发)。
我想在 .env 文件中为每个项目设置环境变量,但最终它无法识别 Pythonpath。
目标是设置我当前打开的文件夹的 /api 子文件夹,但 ir 无法识别相对路径。在那里写绝对路径(如下面的屏幕截图)有点工作 - 它识别自定义库和所有其他库,但在调试时它在代码中的其他相对路径上失败(或者它看起来)
有什么建议吗?谢谢。
【问题讨论】:
-
根据VS Code Docs,只有在.env 文件中也定义了PROJ_DIR 变量时,这才应该有效。另一方面,即使在这种情况下,它也对我不起作用。
标签:
python
python-3.x
windows
visual-studio-code
【解决方案1】:
一种方法是避免整个环境设置一开始就在源代码中定义您的依赖项。当您的 repo 拥有您所需要的一切时,这将起作用。
考虑这样的项目结构
proj
/api
api_source.py
/utils
utils_source.py
/tests
api_source.py
import os
import sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../')))
import utils.utils_source as utils_source
这有点乱,但我喜欢这种方法,因为我不必在克隆我的仓库的任何地方设置任何环境,至少不需要为仓库本身的自包含依赖项设置任何环境。
通常我会在主脚本中添加此路径,并将我在依赖项中的所有导入构建为依赖路径列表中的固定路径前缀,这样我执行一次此操作,所有依赖模块都使用它运行。