Anaconda ignoring “extra_paths” in Sublime Text settings

岁酱吖の 提交于 2019-12-24 07:25:31

问题


I'm trying to configure Sublime Text 3 to act as my IDE for Python development, and while I've read the documentation, I'm still having problems importing extra libraries using the Anaconda.sublime-settings file. From what I've read, it should be as simple as having this text in the Anaconda.sublime-settings file:

{
    "python_interpreter": "/Users/mc/anaconda/bin/python",
    "extra_paths":
    [
    "/Users/mc/workspaces/brg/brg_framework/libs/python",
    "/Users/mc/workspaces/brg/brg_packages/brg_fea"
    ]
}

When I try to build a file, I immediately get an ImportError about a module from that python library (brg is a folder in the ~/brg_framework/libs/python package). If I ask for the paths for the build, I get the following, but not my extra path.

print sys.path
['/Users/mc/workspaces/BRG/brg_packages/brg_splines', '/Users/mc/anaconda/lib/python27.zip', '/Users/mc/anaconda/lib/python2.7', '/Users/mc/anaconda/lib/python2.7/plat-darwin', '/Users/mc/anaconda/lib/python2.7/plat-mac', '/Users/mc/anaconda/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/mc/anaconda/lib/python2.7/lib-tk', '/Users/mc/anaconda/lib/python2.7/lib-old', '/Users/mc/anaconda/lib/python2.7/lib-dynload', '/Users/mc/anaconda/lib/python2.7/site-packages', '/Users/mc/anaconda/lib/python2.7/site-packages/Sphinx-1.3.5-py2.7.egg', '/Users/mc/anaconda/lib/python2.7/site-packages/aeosa', '/Users/mc/anaconda/lib/python2.7/site-packages/setuptools-21.2.1-py2.7.egg']

ImportError: No module named brg.datastructures.network.network
[Finished in 0.0s with exit code 1]
[shell_cmd: python -u "/Users/mc/workspaces/BRG/brg_packages/brg_splines/splinenetwork.py"]
[dir: /Users/mc/workspaces/BRG/brg_packages/brg_splines]
[path: /Users/mc/anaconda/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin]

Is the Anaconda.sublime-settings file being overridden somehow? I am running OS X if that matters.


回答1:


As r-stein indicated, the "extra_paths" setting in Anaconda is for its auto-completing and linting features, not for building. If you need to change your PYTHONPATH, you'll have to create a new build system. Select Tools → Build System → New Build System…, erase the contents of the view that opens, and add this instead:

{
    "shell_cmd": "/Users/mc/anaconda/bin/python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "env": {"PYTHONPATH": "/Users/mc/workspaces/brg/brg_framework/libs/python:/Users/mc/workspaces/brg/brg_packages/brg_fea"}
}

Save the file as Packages/User/brg_Python.sublime-build (the Save dialog should already open in Packages/User. Now, you can select Tools → Build System → brg_Python and run your program with B.



来源:https://stackoverflow.com/questions/38229009/anaconda-ignoring-extra-paths-in-sublime-text-settings

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!