Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止PyCharm覆盖远程Docker解释器中的PYTHONPATH_Python_Docker_Pycharm - Fatal编程技术网

防止PyCharm覆盖远程Docker解释器中的PYTHONPATH

防止PyCharm覆盖远程Docker解释器中的PYTHONPATH,python,docker,pycharm,Python,Docker,Pycharm,我已经在PyCharm 2019.2中设置了一个远程Docker解释器,在这里我可以很好地连接和运行一个简单的Python脚本。但是,我尝试使用的Docker映像(ros:Dynamic ros base)对其入口点中的$PYTHONPATH进行了一些修改,PyCharm似乎忽略/覆盖了这些修改 我可以通过直接从Docker容器打印$PYTHONPATH变量来演示这一点: $ docker run -it ros:kinetic-ros-base python >>> impo

我已经在PyCharm 2019.2中设置了一个远程Docker解释器,在这里我可以很好地连接和运行一个简单的Python脚本。但是,我尝试使用的Docker映像(
ros:Dynamic ros base
)对其入口点中的
$PYTHONPATH
进行了一些修改,PyCharm似乎忽略/覆盖了这些修改

我可以通过直接从Docker容器打印
$PYTHONPATH
变量来演示这一点:

$ docker run -it ros:kinetic-ros-base python
>>> import os
>>> os.environ['PYTHONPATH']
'/opt/ros/kinetic/lib/python2.7/dist-packages'
或者使用PyCharm通过远程Docker解释器运行脚本,使用相同的
ros:kinetic ros base
image:

import os
print(os.environ['PYTHONPATH'])
显然,在容器的入口点脚本运行之后,PyCharm正在替换
$PYTHONPATH
变量

我可以通过将
/opt/ros/kinetic/lib/python2.7/dist包添加到
Edit Configurations…
中运行配置的环境变量来解决这个问题,但是依赖于容器PYTHONPATH的代码检查无法解决。行
import-rospy
给出了IDE错误
No module named-rospy
,尽管它可以正常运行(显然,在这种情况下PYTHONPATH仅设置为run)

有没有什么办法

  • 让PyCharm尊重Docker图像入口点脚本中对PYTHONPATH所做的更改,或
  • 获取集成代码编辑器检查,以便在运行配置中使用手动定义的PYTHONPATH环境变量

  • 我和你有一个非常相似的问题,但是没有使用docker。我正在运行配置中将PYTHONPATH设置为环境变量。但是Pycharm为我的pythonpath添加了自己的路径,这打破了我想要使用的脚本。
    /opt/project:/opt/.pycharm_helpers/pycharm_matplotlib_backend:/opt/.pycharm_helpers/pycharm_display