寻找的人总会找到
决定用 arg -c 运行 python;在那里进行设置并运行文件
这是我的构建系统文件:
{
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"shell": "true",
"windows":
{
"cmd": ["D:\\Development\\Python\\Anaconda3\\python", "-c", "import sys; sys.path.insert(0, '$project_path'); exec(open('$file_name', 'r').read());"]
}
}
附言可能这是一个危险的解决方案,我会很高兴看到更好的方法
p.p.s.对于插件 sublime Repl 相同的设置工作,但应该使用 $folder 和 $file_basename:
BrowsePackages -> SublimeREPL\config\Python\Main.sublime-menu
{...
"cmd": ["D:\\Development\\Python\\Anaconda3\\python", "-i", "-c", "import sys; sys.path.insert(0, '$folder'); exec(open('$file_basename', 'r').read());"],
...
}
------------------------------------------ -------------------------------------------------- --------------------------------------
六个月后
------------------------------------------ -------------------------------------------------- -------------------------------------
找到更好的决定:
1) 构建系统有选项 'env'
第一个想法是写“env”:{“PYTHONPATH”:“$project_path”},
但它不知道用于 env opt 的变量 $project_path,所以这行得通
{
"working_dir": "$project_path",
"env": {"PYTHONPATH": "."},
"cmd": ["D:\\Development\\Python\\Anaconda3\\python", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
缺点:工作目录不正确 - 如果您创建或读取文件 - 应该考虑它
2) 更好的方法是在cmd中使用一些命令:
{
"windows":
{
"shell": "true",
"cmd":"set PYTHONPATH=$project_path & D:\\Development\\Python\\Anaconda3\\python -u $file",
},
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
}
3) 使用插件将 PYTHONPATH 添加到 mine_proj.sublime-project
“环境设置”
使用真实路径或 %project_path% (.sublime 项目存储在项目中,使用 %project_path% 打开“set_sublime_variables”)
EnvironmentSettings - 用户
{
"set_sublime_variables": true
}
mine_proj.sublime 项目:
只添加“设置”部分
{
"build_systems":
[
{
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"name": "Anaconda Python Builder",
"selector": "source.python",
"shell_cmd": "\"python\" -u \"$file\""
}
],
"settings":
{
"env":
{
"Windows":
{
"PYTHONPATH": "%project_path%"
},
}
},
"folders":
[
{
"path": "."
}
]
}