Sublime Text 2 & PYTHONPATH

2019-03-19 21:52发布

问题:

When running a python script on Sublime Text 2 (OSX), the python interpreter works (using Enthought Python Distribution) but not my own PYTHONPATH. Here's what the Python.sublime-build file looks like at the moment:

{
"path": "/Library/Frameworks/EPD64.framework/Versions/Current/bin/",
"cmd": ["python2.7", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}

How can I add the PYTHONPATH to this file correctly? I know that the PYTHONPATH is not being picked up by Sublime Text 2, since some of my custom packages cannot be imported. Any help would be greatly appreciated.

Cheers

回答1:

I'm working with SublimeText2 build 2202 (I have a license and I can download all the "nightly" releases) and I add an "env" attribute to the builder.

For example:

{
    "path": "/Library/Frameworks/EPD64.framework/Versions/Current/bin/",
    "cmd": ["python2.7", "-u", "$file"],
    "env":
    {
        "PYTHONPATH": "path/to/a/folder:path/to/another/folder",
    },    
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

Whatever values you set in this way will be prepended to the PYTHONPATH that Sublime sees.

Your problem was a little different, but I thought that knowing this could be helpful.



回答2:

In my mac, I need to add a comma after the back brace of "env"

{
    "path": "/Library/Frameworks/EPD64.framework/Versions/Current/bin/",
    "cmd": ["python2.7", "-u", "$file"],
    "env":
    {
        "PYTHONPATH": "path/to/a/folder:path/to/another/folder",
    },    
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}


回答3:

The setup was correct from above, but my system has to be restarted. Once that was done everything was working.