如何在Python控制台中运行带有其选项的.py文件?

问题描述 投票:0回答:1

我正在尝试在python中运行this GitHub project,但我只能使用Pycharm IDE的终端运行它。

根据GitHub存储库中的指南,我从$的开头删除了$ python train.py RGCN PPI符号,并可以在此处运行它。 $在这里是什么意思,如何在Python控制台中运行这样的文件(例如,在>>>符号之后)?

python pycharm
1个回答
1
投票

'$'不是Python语法的一部分,它是表示命令提示符的文档中的直观提示。

为了回答本文标题的问题,我将提供一些首先说明如何将脚本加载到Python控制台。但是,对于您的特定情况,则不需要此。向下滚动到PyCharm中有关调试的部分。

一般来说,您可以在Python 2的Python Shell中执行脚本

>>> execfile(r"<path to script here>")

在Python 3上更为冗长:

>>> exec(open(r"<path to script here>").read())

这具有将脚本剪切-n-粘贴到控制台中的效果。控制台的全局空间将具有文件中最左端缩进的所有功能,类和变量。同样,它不会运行您的if __name__ == '__main__':块。但是你可以破解。

如果要将vars / classes / etc放置在控制台全局变量之外的其他命名空间中,则上述命令还有两个附加参数。第一本是针对全球人士的字典,一本是针对本地人的字典。我认为您只需提供globals参数就可以摆脱它-这只是您需要的普通字典对象。

[如果您要运行的文件是模块,则可以通过将其主文件夹附加到Python模块搜索路径,并像使用其他模块一样使用import指令,将其导入,就像导入其他模块一样。

>>> import sys
>>> sys.path.append(r'/Users/todd/projects/mymodule_folder')
>>> import mymodule

如果您对其进行修改并想重新加载它:

>>> import importlib
>>> importlib.reload(mymodule)

因此,以上就是您可以在所需的任何Python REPL控制台中运行python脚本的方式。

为了将您的脚本从Python控制台运行到命令行,可能根本不需要将脚本加载到Python控制台中。您想要的项目(来自的train.py,test.pyhttps://github.com/microsoft/tf-gnn-samples)。

使用PyCharm调试命令行脚本

PyCharm本机支持。只需为项目创建运行/调试配置即可。我刚刚安装了PyCharm并尝试了一下,它非常简单。

只需在PyCharm中打开项目,然后在工具栏上的编辑器窗格上方,就有一个Edit Configurations的菜单选项。单击以打开运行/调试配置对话框,然后单击+添加配置。将出现一个带有预定义模板的小对话框-仅选择Python作为模板即可创建配置。

然后只需将test.py的路径(或其他内容)填充到脚本路径:中,然后单击复选框[[[x]在输出控制台中模拟终端]。另外,您可以在Parameters:文本框中添加命令行选项(我在文本中输入mymodel mytask只是为了验证它是否有效)。单击底部的确定接受配置并关闭对话框。

现在,您应该在工具栏中看到一个绿色错误的图标。只需在脚本的__main__块中设置断点,然后单击调试图标即可开始调试脚本。那应该做!

使用Eclipse PyDev调试命令行脚本

开始,使用

pip

安装pydevd$ pip install pydevd
如果您想要的是一种调试从命令行执行的Python脚本的方法,则>

然后在安装之后,将这些行放在顶部的run()函数中:

import pydevd pydevd.settrace()

打开

Eclipse

,然后查看是否有类似''Start Debug Server'的选项。如果没有,则可能需要安装PyDev插件。通过Eclipse Marketplace来做到这一点。安装后,然后启动调试服务器。启动后,然后运行该脚本。它应该挂起-这就是您想要的。现在,如果一切顺利,PyCharm应该调出脚本代码并向您显示正在等待的行。然后可以逐步执行。

您可能不必进行任何配置-只需单击显示远程调试的菜单选项即可。它可能会立即连接。希望是。

© www.soinside.com 2019 - 2024. All rights reserved.