我试图将PyCharm设置为调用一个shell脚本,而不是python,作为运行选项。这可能吗?在默认选项中,我只有Python、Python文档和Python测试。在专业版中,我也有Django和其他。然而,在一个组合框中,它们都把Python作为解释器,而且就我所见,它们不能被改变。
如何在PyCharm运行配置中运行一个shell脚本而不是python?
如果你想在PyCharm中看到这样的功能,请投票给 IDEA-112256 '命令行'运行配置 功能请求。
运行/调试配置 Pycharm的在线帮助部分列出了所有支持的运行/调试配置类型,但确实没有对shell脚本的支持。 不过,你也许可以通过安装一个插件来增加这种支持。例如,如果你对bash脚本感兴趣,可以使用 BashSupport 插件,增加了对在运行/调试配置中运行shell脚本的支持。
从插件的主页。
BashSupports可以直接在IntelliJ中运行脚本。你可以创建 一个新的Bash脚本的运行配置。在这里你可以设置哪个 解释器来运行它。每当一个脚本被执行,其 输出都会被记录下来。如果Bash打印出了语法错误,那么有错误的 行可以点击跳转到错误的位置。
For Windows there's CmdSupport 插件,它提供了一个行动来运行 .cmd 脚本。然而,它似乎不支持以运行/调试配置的方式运行此类脚本。
作为一种变通方法,你可以使用Python运行/调试配置,指定一些假的(空的)Python文件来运行和使用 发射前 option specifying 外部工具 并在添加/配置这个外部工具时指定该脚本的路径。参见 在IntelliJ IDEA中,我如何创建一个键绑定,以当前文件为参数执行一个shell脚本? 详情请见下文。
由于PyCharm是基于IntelliJ的IDEA平台,所以问题在于 IntelliJ IDEA。将 shell 脚本作为运行/调试配置来运行 是非常相关的。
说到运行/调试配置,你可能对这个插件感兴趣 以行动方式运行配置 which
(...)提供了一种方法来使用运行配置作为工具栏上的按钮。 或者指定快捷键来执行特定的运行配置。
这确实是一个缺失的功能,通常应被视为基本功能。有两个选项
First i tried to create a standard (empty) Python configuration and used the "Before launch"->External tool option, therefore you must create a new external tool definition with Tool Settings:
这个解决方案的恼人之处在于,"外部工具 "的标准输出被重定向到控制台日志窗口中的一个额外的标签,当假的Python配置被执行后,它立即进入后台。

我认为最简单的方法是直接写一个调用.bat文件的python脚本,然后运行该脚本。
from subprocess import Popen
p = Popen("batch.bat", cwd=r"C:\Path\to\batchfolder")
stdout, stderr = p.communicate()
如果这不起作用,请添加shell=True,见。
stackoverflow.com/questions/9935151/...
jan-hybs
发布于
2018-07-07
0
人赞同
另一个棘手的解决方案是改变PyCharm的配置文件夹中的
config/options/jdk.table.xml
文件。你可以简单地在你的
jdks
列表中添加另一个条目。
<jdk version="2">
<name value="Python 3.7 (docker)" />
<type value="Python SDK" />
<version value="Python 3.7.0" />
<homePath value="/path/to/your/shell.sh" />
<roots>
<classPath>
<root type="composite" />
</classPath>
<sourcePath>
<root type="composite" />
</sourcePath>
</roots>