Python 3.5:Sublime Text无法识别第三方模块......如何修复?

时间:2016-01-19 23:18:17

标签: python python-3.x scrapy sublimetext3

(我知道以前曾经问过这个问题的变体,但不是专门用Python 3+和Sublime Text 3,我尝试了解决方案,但没有一个有用。)

无论如何:我正在使用Python 3.5。我正试图在Sublime Text中使用第三方模块 - Scrapy。虽然该模块在IDLE中工作,但它在Sublime中不起作用。

我尝试重定向PYTHONPATH,但仍然无法正常工作。我对Python的语法特定设置是:

{
        "path": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
        "cmd": ["python", "-u", "$file"],
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python",
        "word_wrap": true, 
        "env": {
            "PYTHONPATH": "/Library/Frameworks/Python.framework/Versions/3.5/bin"
        }

2 个答案:

答案 0 :(得分:0)

我遇到了这个。

在您的情况下,Sublime Text 3.x需要一个新的构建系统,该系统需要在新构建系统中定义的“路径”和“ cmd”才能正确识别两者和模块的位置您要使用哪个python命令字符串。

对于OSX 10.14.2上的Python 3.7,我使用了以下构建文件。我认为如果将3.5替换为3.7,则对3.5或任何3.x版本也可以使用。如果您安装了新版本的python,那么您还将需要一个全新的构建系统。

在工具下>构建系统>新的构建系统添加包含以下设置的文件并保存。


{
    "path": "/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
    "cmd": ["/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

使用工具>构建方式切换到它。

答案 1 :(得分:-1)

您需要的是build system,而不是特定于语法的设置。选择 Tools -> Build System -> New Build System... 并将内容更改为以下内容:

{
    "path": "/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
    "cmd": ["/Library/Frameworks/Python.framework/Versions/3.5/bin/python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

将文件保存为Packages/User/Python3.5.sublime-build,其中Packages是打开的文件夹,方法是选择 Preferences -> Browse Packages... (在编辑新的构建系统后点击保存时,它应该是自动指向Packages/User)。

要使用构建系统,请选择 Tools -> Build System -> Python3.5 ,然后按 Ctrl B (Windows,Linux)或当您的.py文件聚焦时,⌘ B (OS X)。