如何禁用 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
的位置。我检查了:
- 运行 -> 编辑配置。我有我的选择:
-s -a M_4439
- 设置 -> 项目解释器
-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
,它不会在稍后的命令中再次添加它。
我正在配置 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
的位置。我检查了:
- 运行 -> 编辑配置。我有我的选择:
-s -a M_4439
- 设置 -> 项目解释器
-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
,它不会在稍后的命令中再次添加它。