Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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
Python pyplot导入matplotlib.pyplot显示错误_Python_Matplotlib_Pycharm - Fatal编程技术网

Python pyplot导入matplotlib.pyplot显示错误

Python pyplot导入matplotlib.pyplot显示错误,python,matplotlib,pycharm,Python,Matplotlib,Pycharm,回溯(最近一次呼叫最后一次): 文件 “/Users/tim/workspace/Python/MachineLearn/test.py”,第2行,在 将matplotlib.pyplot作为plt导入 文件“/usr/local/lib/python2.7/site packages/matplotlib/pyplot.py”,第115行,在 _后端模块、新图形管理器、绘图(如果交互式),显示=pylab\u设置() pylab_设置中的文件“/usr/local/lib/python2.7/

回溯(最近一次呼叫最后一次):

文件
“/Users/tim/workspace/Python/MachineLearn/test.py”,第2行,在
将matplotlib.pyplot作为plt导入
文件“/usr/local/lib/python2.7/site packages/matplotlib/pyplot.py”,第115行,在
_后端模块、新图形管理器、绘图(如果交互式),显示=pylab\u设置()
pylab_设置中的文件“/usr/local/lib/python2.7/site packages/matplotlib/backends/_init__.py”,第63行
[后端名称],0)
文件“/Applications/PyCharm.app/Contents/helpers/PyCharm_matplotlib_backend/backend_interagg.py”,第11行,在
从datalore.display导入显示
文件“/Applications/PyCharm.app/Contents/helpers/PyCharm_display/datalore/display/__init__.py”,中的第1行
from.display_uu导入*
文件“/Applications/PyCharm.app/Contents/helpers/PyCharm\u display/datalore/display/display\u.py”,第5行,在
从urllib.parse导入urlencode
ImportError:没有名为parse的模块
进程已完成,退出代码为1

=================

Python:2.7.16

PyCharm专业版:2019.2

=================


顺便说一句,在控制台模式下运行的代码是work,用于Python2使用

  File 
"/Users/tim/workspace/Python/MachineLearn/test.py", line 2, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 63, in pylab_setup
    [backend_name], 0)
  File "/Applications/PyCharm.app/Contents/helpers/pycharm_matplotlib_backend/backend_interagg.py", line 11, in <module>
    from datalore.display import display
  File "/Applications/PyCharm.app/Contents/helpers/pycharm_display/datalore/display/__init__.py", line 1, in <module>
    from .display_ import *
  File "/Applications/PyCharm.app/Contents/helpers/pycharm_display/datalore/display/display_.py", line 5, in <module>
    from urllib.parse import urlencode
ImportError: No module named parse
如果需要编写与Python2和Python3兼容的代码,可以使用以下导入

from urlparse import urlparse
在您的PyCharm项目中:

  • 按Ctrl+Alt+s打开设置
  • 在左列中,选择项目解释器
  • 在右上角有一个在您的系统上找到的python二进制文件列表,请选择正确的一个
  • 最后,单击+按钮安装其他python模块,在您的情况下,由于缺少解析模块,所以请安装该模块
简单回答:禁用“在科学窗口中显示绘图”(设置->工具->Python科学版)或降级PyCharm或将项目移动到python3
记住在代码中添加
plt.show()

稍微复杂一点。您需要编写自己的导入钩子来查找
urllib.parse
urllib.request
(请求
display.py
文件中的下一行。您可以在此处阅读更多信息


(我对Python2导入系统还不够熟悉,无法编写)

正如@Grzegorz-Bokota提到的,问题来自“科学视图模式”PyCharm的。此模式允许可视化图形,因此调用matplotlib,如果您使用的是Python 2,则可能是它的不兼容版本。此错误已被识别,我们似乎只需等待下一个版本来解决它。

URLPRASE导入URLPRASE的
在哪里?可能您有多个Python您计算机上的版本和pycharm使用不同的版本。python2和python3都有,urllib模块在这两个版本中都不同。pycharm允许您在设置中选择项目的python版本,更改其中的值可能会解决您的问题,因为pycharm将默认使用python3。现在我已经添加了一个答案,希望它会这样做帮助you@576i但我试着编辑代码并编写“导入系统”、“打印系统版本”,它显示“2.7.16”@GOVINDDIXIT所有的代码都在那里,它只是一个简单的代码,我没有导入任何urlparse库。您是否尝试过在pycharm中更改python版本?pycharm设置项目解释器现在是select python 2.7,我尝试了print sys.version。它显示了2.7.16在我看来,您的pycharm正在寻找一个不兼容的模块我已经解决了这个问题,只需取消选中“在科学窗口中显示绘图”(设置->工具->python科学)复选框,然后工作正常,谢谢你的回复
from urlparse import urlparse
try:
    from urllib.parse import urlparse
except ImportError:
     from urlparse import urlparse