我正在使用pycharm.2017.1.2。 我用py3环境安装了anaconda2。 在Pycharm中,我使用的是Python3解释器,代码很简单:
print(__name__)
在Pycharm的Python控制台中,它会打印builtins
。
如果我点击了'运行'按钮,按预期打印main
。
为什么PyCharm Python控制台会打印builtin
而不是main
?
答案 0 :(得分:3)
PyCharm Python控制台实际上正在运行一个名为pydevconsole.py
的模块(应位于C:\ Program Files \ JetBrains \ PyCharm 2017.1.2 \ helpers \ pydev \ pydevconsole.py)。该模块创建一个解释器并将其设置为builtins
模块的属性。
因此,PyCharm控制台上的print(__name__)
将显示builtins
。
在执行期间(单击“运行”时),将调用指定的Python解释器,而不是pydevconsole
模块。因此print(__name__)
按预期显示__main__
。
答案 1 :(得分:1)
如果运行环境是远程的,并且未安装IPython,则会发生这种情况。这是PyCharm issue reported here。它发生在2018.2版本中,并且正在进行修复。要解决此问题,只需在远程环境中安装IPython。