在PyCharm中,可以设置在打开新控制台时运行的脚本(通过设置 - >'构建,执行,部署' - >控制台 - > Python控制台 - >开始脚本)。
有没有办法将启动脚本类似地应用到调试器控制台?每次运行代码时,我发现自己一遍又一遍地导入相同的包。
答案 0 :(得分:2)
在PyCharm中运行<PYCHARM_PATH>/plugins/python/helpers/pydev/pydevconsole.py
时,它将在PyCharm Debug Console
处执行自定义PyCharm脚本。
另一方面,在调试时运行<PYCHARM_PATH>/Plugins/python/helpers/pydev/pydevd.py
时,它将在--file
处执行自定义PyCharm脚本,并将命令行参数pydevd.py
设置为要调试的脚本。
如果需要,您可以修改main.py
文件(Apache 2 license),但是更简单的方法是创建启动脚本,在该脚本中导入所需的模块,函数等,然后导入 ALL 置于 PyCharm调试控制台中。这样会将您所有的进口减少到一个。
演练:
让我们创建2个文件:
startup.py
-我们将调试的主要脚本main.py
-我们要导入的模块,功能或其他内容。 sentence = 'Hello Debugger'
def replace_spaces_with_hyphens(s):
return s.replace(' ', '-')
replace_spaces_with_hyphens(sentence) # <- PLACE BREAKPOINT!
内容:
startup.py
命中断点时,这就是我们内部作用域的范围:
如果您总是发现自己导入了一些模块并创建了一些函数,则可以在from startup import *
脚本中定义所有内容并将所有内容都导入为startup.py
。
# Example modules you always find yourself importing.
import random
import time
# Some function you always create because you need it.
def my_imported_function():
print("Imported !")
:
from startup import *
在Python调试器控制台中,如上所述使用{{1}},您会看到范围内的所有模块和功能都可以使用。
答案 1 :(得分:0)
您可以只创建一个新的调试配置(运行>编辑配置)并将其指向项目中的脚本(例如,您使用gitignore的debug.py
)。然后,当您点击调试时,它将运行该脚本并将您放入控制台。
就个人而言,我更喜欢在嵌入式终端中启动ipython
而不是使用调试控制台。在Linux上,您可以在.bashrc
中创建bash别名,例如alias debug_myproject=PYTHONSTARTUP=$HOME/myproject/debug.py ipython
。然后调用debug_myproject
将运行该脚本并将您放入ipython控制台。