Nic*_*hey 6 python pycharm docker
我在 PyCharm 2019.2 中设置了一个远程 Docker 解释器,我可以在其中连接并运行一个简单的 Python 脚本。但是,我尝试使用的 Docker 映像 ( ros:kinetic-ros-base
)$PYTHONPATH
在其入口点中进行了一些修改,PyCharm 似乎会忽略/覆盖这些修改。
$PYTHONPATH
我可以通过直接从 Docker 容器打印变量来演示这一点:
$ docker run -it ros:kinetic-ros-base python
>>> import os
>>> os.environ['PYTHONPATH']
'/opt/ros/kinetic/lib/python2.7/dist-packages'
Run Code Online (Sandbox Code Playgroud)
或者使用 PyCharm 通过远程 Docker 解释器运行脚本,使用相同的ros:kinetic-ros-base
图像:
import os
print(os.environ['PYTHONPATH'])
Run Code Online (Sandbox Code Playgroud)
/opt/project:/opt/.pycharm_helpers/pycharm_matplotlib_backend:/opt/.pycharm_helpers/pycharm_display
Run Code Online (Sandbox Code Playgroud)
$PYTHONPATH
显然,PyCharm在容器的入口点脚本运行后替换了该变量。
我可以通过添加/opt/ros/kinetic/lib/python2.7/dist-packages
到运行配置的环境变量来解决这个问题Edit Configurations...
,但是依赖容器的 PYTHONPATH 的代码检查无法解析。该行import rospy
给出了 IDE 错误No module named rospy
,尽管它会运行得很好(显然,在这种情况下,PYTHONPATH 仅在运行时设置)。
有什么办法吗
归档时间: |
|
查看次数: |
368 次 |
最近记录: |