我使用的是 崇高的文本3 生成3126对 Ubuntu的灿烂 与 SublimeREPL 插件。
我使用 CTRL + SHIFT + P >> SublimeREPL 打开Python REPL :Python, 并使用 CTRL
+,F
和everything将文件发送到REPL,只要我使用单个Python脚本文件即可。一旦我尝试将代码的某些部分移至另一个模块并将其导入主文件中,就会收到讨厌的
ImportError:没有名为 error的 模块 。
尝试使用以下命令打开位于同一目录中的文本文件:
codecs.open('filename', encoding='utf-8')
结果是:
IOError: [Errno 2] No such file or directory: 'filename'
您是否调查了打开 SublimeREPL:Python 的文件/面板与的输出之间是否存在关系print os.getcwd()
?SublimeREPL在REPL启动时初始化其cwd。cwd将在REPL的整个生命周期内保持不变。
如您所指出的, SublimeREPL:Python 的默认cwd是:
"cwd": "$file_path"
这意味着将光标放在空白的Sublime面板中启动 SublimeREPL:Python
,结果/opt/sublime_text/
为cwd。这可能被认为是不希望的并且令人困惑。
但是,如果在光标位于要运行的.py文件中时启动 SublimeREPL:Python ,则REPL将使用 当前.py文件的文件夹 作为其cwd。
我个人认为这是理想的行为,但是您必须先了解它,然后才能变得方便。
如果将cwd的设置更改为:
"cwd": "$folder",
对于不使用sublime-projects的情况,上述行为保持不变。当您确实使用sublime-project时,python REPL
cwd将成为主项目文件夹,而与REPL启动时的光标位置无关。如果您有python驱动的项目,则这可能是所需的行为。但是,如果您只是在较大的项目中使用某些python脚本,则可能不希望主项目文件夹成为python
REPL中的cwd。
OS- Neon Linux我有以下命令行输出: 请告诉我,为什么PyCharm不能导入模块?
当我尝试导入诸如“pymc3”或“theano”之类的模块时,rPython或pythoniner无法定位这些模块,即使我已经安装了它们。我使用的是Ubuntu 16.04、R3.4.2和python 3.5.2 这两个包似乎无法找到某个文件夹,但是在我将路径追加到sys.path后,它就不起作用了,sys.path包含了我需要的所有包,通过使用以下命令: 结果似乎也不错: ['''/usr/li
问题内容: 我注意到我今天想解释的东西很奇怪。我不是100%不确定如何将其表达为一个问题,所以google是不可能的。由于某些奇怪的原因,日志记录模块无权访问模块logging.handlers。如果您不相信我,请自己尝试: 谁能解释为什么会这样? 问题答案: 在Python中,需要先导入模块,然后才能对其进行访问。仅导入日志记录模块。碰巧这是一个带有子模块的软件包,但是那些子模块仍然不会自动加载
我正在使用Ubuntu14.04计算机,试图将google.protobuf模块导入到Python2.7中。 我已经试过了 和 没有成功。 在python内部,我得到一个错误,即: “导入错误:没有名为google.protobuf的模块” 编辑1: 对不起,谢谢大家的评论。我还是Ubuntu和StackOverflow的新手。 具体来说,我输入到命令行 并获得反馈 Traceback(最近的调用
问题内容: 谁能建议我在python中导入模块的最pythonic方法是什么?让我解释一下- 我已经阅读了很多python代码,并发现了几种不同的方式来导入模块,或者更确切地说,是何时导入: 使用一个模块/几个模块,其中包括整个项目所需的所有导入(第三方模块),因此所有导入都集中在几个模块中,因此易于维护导入。当任何单个模块需要导入任何模块时,都会询问引用模块。例如,在我们的项目中,我们分离了名为
问题内容: 据我了解,python模块永远不会导入两次,即该模块中的代码仅在首次导入时才执行。随后的import语句只需将模块添加到导入范围即可。 我有一个名为“ TiledConvC3D.py”的模块,但似乎已多次导入。我使用pdb在该模块的代码顶部打印堆栈。 这是从第一次执行模块开始的堆栈跟踪的结尾: 它将继续执行多次。但是,第二次调用的完整堆栈跟踪不会显示对的任何调用,因此不应执行这些执行: