如何在sublime文本3中添加项目路径到PYTHONPATH

时间:2017-09-12 19:14:28

标签: python-3.x build project sublimetext pythonpath

Check project tree. 你好。我试图运行example.py,但导入src时遇到问题。它无法找到模块。 我可以解决这个问题,写道:

{{1}}

现在sys.path有项目文件夹的路径 D:\ ... \ cubic_reg-master,可以检查项目中的所有包和模块。 但我不想在每个文件夹/每个脚本中编写它。试图找到如何配置Build System或project.sublime-settings。

P.S。已经在Pycharm工作,并尝试Sublime Text,因为我理解Pycharm自动添加路径。

2 个答案:

答案 0 :(得分:1)

你真的应该很少改变你的PYTHONPATH。这有点难以理解你的问题,但我假设您想要将常用文本添加到常规PATH中,以便可以从命令行调用sublime文本中的项目。要做到这一点,请参阅这篇文章...

对于OSX:https://www.sublimetext.com/docs/3/osx_command_line.html

对于Windows:Sublime Text from Command Line (Win7)请参阅第一个答案

答案 1 :(得分:1)

谁寻求将永远找到

决定用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.S。可能这是危险的解决方案,我会很高兴看到更好的方法

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"
}

缺点:work_dir不正确 - 如果你创建或读取文件 - 应该考虑它

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": "."
        }
    ]
}