【发布时间】:2021-12-08 22:25:54
【问题描述】:
我正在使用命令docker run -e GRB_WLSACCESSID=xxxxxxx 为 Gurobi 授权设置环境变量。容器的操作系统是 Ubuntu 16.04。如果我通过 SSH 交互方式登录容器并通过 python 代码os.getenv() 读取环境变量,这是可以的。
但是,当我在 Pycharm 中添加这个容器作为远程 SSH 解释器并沿着 Pycharm 执行 python 代码时,我无法获取环境变量。
最后我发现问题是docker run -e生成的环境变量只能被交互式shell读取。这可以通过执行ssh root@x.x.x.x env来验证,登录容器后交互执行env。前者输出较少。
一种可能的解决方案是在容器生成后手动编写一些配置,例如设置/etc/environment中的变量(由this提供)。
另一种可能的解决方案是在 Pycharm edit configuration 中手动添加变量。
有没有更优雅的解决方案? :(
【问题讨论】:
标签: python linux docker pycharm