如何禁用 PyCharm 中的 -u 解释器选项?

How do I disable -u interpreter option in PyCharm?

我正在配置 PyCharm 以使用远程 python 解释器。 PyCharm 似乎使用 -u 选项执行解释器,我找不到禁用它的方法。我需要禁用它的原因是我是 运行 nosetests 命令,所以我得到这个:

ssh://xxx@xxx.xxx.xxx.xxx:22/path/to/bin/nosetests -s -a M_4439 -u /path/to/test_elf.py

Usage: nosetests [options]

nosetests: error: no such option: -u

Process finished with exit code 2

我环顾四周,找不到设置-u的位置。我检查了:

-u设置在哪里?

根据上面的评论回答我自己的问题:

PyCharm 有它的帮助脚本 运行 鼻子测试。我将解释器配置为远程 python 现在我得到了这个(这是我需要的):ssh://xxx@xxx.xxx.xxx.xxx:22/path/to/bin/python -u /path/to/.pycharm_helpers/pycharm/noserunner.py /path/to/test_elf.py。

现在我只需要弄清楚通常来自 .bashrc 的预测试脚本。 编辑配置 -> 启动前:远程外部工具执行此操作

According to IntelliJ -u 标志是 "hardcoded" 并且无法删除它。

更新

IntelliJ 目前有一个 open ticket 用于此。

我发现如果你先在 "Interpreter Options" 中传递 -u 然后它会将该参数传递给解释器 (python) 而不是库所以我发现 /opt/conda/bin/python -u -m torch.distributed.launch --nproc_per_node=4 your_script.py 有效,同时 /opt/conda/bin/python -m torch.distributed.launch --nproc_per_node=4 -u your_script.py 没有。

请注意,如果您明确传递 -u,它不会在稍后的命令中再次添加它。