【问题标题】:Add multiple Python Console with different interpreter options添加具有不同解释器选项的多个 Python 控制台
【发布时间】:2021-09-08 08:45:56
【问题描述】:

我正在使用第三方 Python 客户端,它可以使用一些参数连接到不同的服务器。

在 PyCharm 中,我在 Settings > Build, Execution,Deployment > Console > Python Console 下定义了其中之一,所有这些都可以正常工作。

我现在想添加其他指向具有不同解释器选项的解释器的 Python 控制台。不幸的是,New Console 按钮只能让我添加一种类型。

所有其他 Stack Overflow 问题都与不同的解释器有关。

【问题讨论】:

    标签: python pycharm console


    【解决方案1】:

    集成的 PyCharm 控制台是一个客户端-服务器,每次按下 New Console 按钮时都会启动一个新的 pydevconsole.py 进程。

    不幸的是,新控制台按钮只能让我添加一种类型。

    有两种方法可以做到这一点。一个简单,一个复杂。

    1. 简单的方法。

      如果您在Settings>Build, Exection, Deployment>Console>Python Console在每次之间更改控制台设置,那么您按下New Console按钮就会不同控制台将使用您配置的不同解释器选项、参数等启动。

      在每个选项卡中使用不同的设置启动各种控制台。潜在的问题是,如果您想启动许多具有不同设置的控制台,则必须手动更改设置可能会变得重复。另一个问题是,如果您按下 Rerun 按钮,新控制台将使用当前设置启动,而不是您第一次启动时配置的设置。

    2. 复杂的方式。

      尝试创建一个新项目(作为一个干净的示例)。控制台设置存储在项目的配置文件.idea/workspace.xml 中。以下是项目创建后的默认 XML 实体示例:

       <component name="PyConsoleOptionsProvider">
        <option name="myPythonConsoleState">
          <console-settings custom-start-script="import sys; print('Python %s on %s' % (sys.version, sys.platform)); print('a test')&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;" module-name="tmp_test" is-module-sdk="true">
            <option name="myCustomStartScript" value="import sys; print('Python %s on %s' % (sys.version, sys.platform)); print('a test')&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;" />
            <option name="myUseModuleSdk" value="true" />
            <option name="myModuleName" value="tmp_test" />
          </console-settings>
        </option>
       </component>
      

      更复杂的解决方案是编写一个 Python 脚本 configure it as an external tool,传入 IDE 的 ProjectFileDir 宏并附加 .idea/workspace.xml 路径,并让该 Python 脚本通过直接编辑来更改控制台设置的 XML 元素.idea/workspace.xml 文件。最后你可以bind a keyboard shortcut到外部工具。

      这将允许您使用 1 个键盘快捷键切换控制台设置(循环通过您的预定设置),之后 New ConsoleRerun 按钮将按照您想要的方式无缝工作。 (我在this answer 中编写了该技术的分步示例。)

    这两种解决方案都可以完成工作。哪个更好取决于您需要多久启动/重新启动具有不同设置的控制台。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-08
      • 2015-12-03
      • 2016-10-22
      • 2010-09-25
      • 2021-05-08
      • 2018-04-29
      • 2010-10-05
      • 1970-01-01
      相关资源
      最近更新 更多