Simple Sublime Text 3 python27 构建系统 - 将项目文件夹添加到路径
Simple Sublime Text 3 python27 build system - add project folder to path
我正在尝试在 sublime text 3 中设置一个非常简单的 python 2 构建系统。
python 的默认构建环境有效,但我希望能够通过将项目文件夹添加到 PYTHONPATH
来导入项目的顶级模块。
这是我对构建系统的尝试:
{
"cmd": ["python", "-u", "$file"],
"env":
{
"PYTHONPATH": "$project_path"
},
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
终端弹出:
Traceback (most recent call last):
File "C:\project", line 4, in <module>
from lib.util.utilities import pairwise
ImportError: No module named lib.util.utilities
[Finished in 0.3s]
它没有看到 $project_path
文件夹,否则它将能够导入实用程序,因为 lib/
是顶级项目文件夹中的一个文件夹。我该如何解决这个问题?
我在 x64 Windows 8.1
根据我的测试,a post on Sublime Text's forums,变量在env
中没有扩展。
我通过运行将以下 Python 代码与您的构建系统结合在一起发现了这一点:
import os
print(os.environ['PYTHONPATH'])
输出:$project_path
.
使用以下构建系统会起作用,尽管每当您 运行 您的代码时都会产生 shell 的开销:
{
"shell_cmd": "export PYTHONPATH=\"$project_path\"; python -u \"$file\"",
"windows":
{
"shell_cmd": "set \"PYTHONPATH=$project_path\" & python -u \"$file\"",
},
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
这对我来说适用于 OS X 和 Windows,设置如下:
te st
├── lib
│ ├── __init__.py
│ └── util.py
├── src
│ └── te st.py
└── test.sublime-project
我正在尝试在 sublime text 3 中设置一个非常简单的 python 2 构建系统。
python 的默认构建环境有效,但我希望能够通过将项目文件夹添加到 PYTHONPATH
来导入项目的顶级模块。
这是我对构建系统的尝试:
{
"cmd": ["python", "-u", "$file"],
"env":
{
"PYTHONPATH": "$project_path"
},
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
终端弹出:
Traceback (most recent call last):
File "C:\project", line 4, in <module>
from lib.util.utilities import pairwise
ImportError: No module named lib.util.utilities
[Finished in 0.3s]
它没有看到 $project_path
文件夹,否则它将能够导入实用程序,因为 lib/
是顶级项目文件夹中的一个文件夹。我该如何解决这个问题?
我在 x64 Windows 8.1
根据我的测试,a post on Sublime Text's forums,变量在env
中没有扩展。
我通过运行将以下 Python 代码与您的构建系统结合在一起发现了这一点:
import os
print(os.environ['PYTHONPATH'])
输出:$project_path
.
使用以下构建系统会起作用,尽管每当您 运行 您的代码时都会产生 shell 的开销:
{
"shell_cmd": "export PYTHONPATH=\"$project_path\"; python -u \"$file\"",
"windows":
{
"shell_cmd": "set \"PYTHONPATH=$project_path\" & python -u \"$file\"",
},
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
这对我来说适用于 OS X 和 Windows,设置如下:
te st
├── lib
│ ├── __init__.py
│ └── util.py
├── src
│ └── te st.py
└── test.sublime-project