添加多个 Python 具有不同解释器选项的控制台

Add multiple Python Console with different interpreter options

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

在PyCharm下我定义了Settings>Build, Execution,Deployment>Console>Python Console一个这些都很好。

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

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

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

Unfortunately the New Console button only lets me add one type.

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

  1. 简单的方法。

    如果您在 Settings > Build, Exection, Deployment > Console > Python Console [=52] 更改控制台设置=]在每次你按下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, pass in the IDE's ProjectFileDir macro appending the .idea/workspace.xml path, and have that Python script change the console settings' XML element by directly editing the .idea/workspace.xml file. Finally you can bind a keyboard shortcut 到外部工具。

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

两种解决方案都可以完成工作。哪一个更好取决于您需要 launch/relaunch 不同设置的控制台的频率。