尽管可以从命令行导入,但 Sublime Text 3 无法导入 python 模块?
Sublime Text 3 unable to import python module although importing from command line is possible?
当我尝试在 ST3 中使用 python 进行构建时,我在尝试时遇到导入错误
import caffe
但是当我只是 运行 在终端上输入
$ python
>>> import caffe
有效。在我的 sublime text 3 上,我仍然可以导入其他模块,例如 numpy 和 matplotlib。
这是我找到的 sublime python 版本(这是正确的位置吗?为什么它没有被提取出来而是放在一个包中?):
目录是:/opt/sublime_text/Packages/Python.sublime-package
python.sublime-build 在 Python.sublime-package 中的文件是:
{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
"variants":
[
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
}
]
}
检查我的 python 路径后:
$ python -c "import sys; print '\n'.join(sys.path)"
我的输出是:
/home/user/caffe/python
/home/user
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
/usr/lib/python2.7/dist-packages/gtk-2.0
/usr/lib/python2.7/dist-packages/wx-3.0-gtk2
我的 dist-packages 没有 caffe,因为我在 home/user 中安装了它。
所以我决定在终端运行:
export PYTHONPATH=/home/user/caffe/python:$PYTHONPATH
但是再次检查我的python路径,它似乎没有被添加进去。这是原因吗?但是,为什么我可以直接从我的终端导入caffe 而不是在ST3 中? PS: 我确实将 caffe 添加到我的用户等 bashrc 配置文件中。
感谢您的帮助。
你可以在import caffe之前加上这个
import sys
sys.path.insert(0, '/path_to_caffe_root/python')
我遇到了同样的问题。原来我的电脑上有几个虚拟环境,因为Anaconda。我停用了虚拟环境,命令 pip3 list
没有显示所需的包,所以它被安装并且 ST 停止了抱怨。
我造成了混乱,但我并不知道 -- 有些软件包安装在虚拟环境中,有些则没有。
当我尝试在 ST3 中使用 python 进行构建时,我在尝试时遇到导入错误
import caffe
但是当我只是 运行 在终端上输入
$ python
>>> import caffe
有效。在我的 sublime text 3 上,我仍然可以导入其他模块,例如 numpy 和 matplotlib。
这是我找到的 sublime python 版本(这是正确的位置吗?为什么它没有被提取出来而是放在一个包中?): 目录是:/opt/sublime_text/Packages/Python.sublime-package
python.sublime-build 在 Python.sublime-package 中的文件是:
{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
"variants":
[
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
}
]
}
检查我的 python 路径后:
$ python -c "import sys; print '\n'.join(sys.path)"
我的输出是:
/home/user/caffe/python
/home/user
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
/usr/lib/python2.7/dist-packages/gtk-2.0
/usr/lib/python2.7/dist-packages/wx-3.0-gtk2
我的 dist-packages 没有 caffe,因为我在 home/user 中安装了它。
所以我决定在终端运行:
export PYTHONPATH=/home/user/caffe/python:$PYTHONPATH
但是再次检查我的python路径,它似乎没有被添加进去。这是原因吗?但是,为什么我可以直接从我的终端导入caffe 而不是在ST3 中? PS: 我确实将 caffe 添加到我的用户等 bashrc 配置文件中。
感谢您的帮助。
你可以在import caffe之前加上这个
import sys
sys.path.insert(0, '/path_to_caffe_root/python')
我遇到了同样的问题。原来我的电脑上有几个虚拟环境,因为Anaconda。我停用了虚拟环境,命令 pip3 list
没有显示所需的包,所以它被安装并且 ST 停止了抱怨。
我造成了混乱,但我并不知道 -- 有些软件包安装在虚拟环境中,有些则没有。