如何使用 PyCharm 为远程 Python 解释器保留环境变量

Hon*_*ear 9 python ssh environment-variables pycharm

我正在使用通过 ssh 访问的远程 Python 解释器(使用 pew 创建的虚拟环境)。当手动 ssh 连接到服务器并使用解释器时,这工作正常。但是,当使用 PyCharm 调用它时,它会忘记我在 .bashrc 中导出的环境变量。

似乎在通过 ssh 调用 Python 解释器时,PyCharm(即使从 bash 开始)忽略了 .bashrc。这里表明外壳包装器是解决方案。

#!/bin/bash -l
/path/to/interpreter/bin/python
Run Code Online (Sandbox Code Playgroud)

但是简单地将这个 shell 文件作为解释器提供给 PyCharm 是行不通的(包管理被禁用,并且在运行 py-code 时会打开一个 Python 终端......)。

如何获得“shell 包装器”以确保在运行 PyCharm 远程 Python 解释器之前执行 .bashrc?


我确保 PyCharm 在正确的环境下运行。所有本地解释器都没有显示该问题(在 PyCharm 终端和 Python 脚本中进行测试:)

import os
print(os.environ)
Run Code Online (Sandbox Code Playgroud)

我也知道用于运行特定文件的“编辑配置”选项以及在那里设置环境变量的可能性,但是对于每个项目/文件而不是我正在寻找的内容来说,这很乏味。

Wen*_*olf 5

在您的包装器中调用 python 时,您希望您的包装器包含“$@”:

#!/bin/bash -l
/path/to/interpreter/bin/python "$@"
Run Code Online (Sandbox Code Playgroud)

通过这个技巧,我以某种方式设法在 Windows 上设置 pycharm,同时在 WSL(Ubuntu bash)中使用 virtualenv 并检索我的 WSL env 变量。