我完全按照PyCharm教程配置了Docker解释器:https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter-1.html,然后等待索引和骨架提取完成。
我尝试执行该文件,甚至设置断点。这一切都奏效了。
但是,import math
行显示错误No module named math
。自动填充不起作用。更奇怪的是某些内置库导入,但有些则没有。
内置库不导入:math
,json
,urllib
,io
,csv
,{ {1}},numbers
,curses
。
执行导入的内置库:logging
,os
,re
,time
。
注意:导入测试并非详尽无遗。其他内置库可能导入也可能不导入。
我正在使用PyCharm Professional 2018.1。还测试了版本2017.3,并且出现了相同的错误(仅测试argparse
)。如果我使用我的本地Python解释器,导入和自动完成工作就可以了。
我使用import math
作为远程Docker解释器,python:latest
作为解释器路径。目前,这适用于python
。如果我使用Python 3.6.5
启动解释器,然后尝试docker run -it python:latest
,那么一切正常:
import math
我有JetBrains filed a bug,但由于这是该功能的基本功能,可能我做错了。
答案 0 :(得分:2)
4月27日,JetBrains confirmed it as a bug with Docker 18.03.1-ce stable onwards。
建议的解决方法是将Docker降级为 18.03.0稳定版本。
我认为手动将.py
源(在容器内的/usr/local/lib/python3.6
中)复制到本地解释器路径可能会自动完成并且文档也可以正常工作(尽管依赖于非Python代码的库)不行。