Python 2.7 pyvirtualdisplay导入错误:无法导入名称显示 我的Ubuntu 我的Xvfb 我的蟒蛇 我的档案 当我运行它时

Python 2.7 pyvirtualdisplay导入错误:无法导入名称显示 我的Ubuntu 我的Xvfb 我的蟒蛇 我的档案 当我运行它时,python-2.7,pip,ubuntu-14.04,xvfb,Python 2.7,Pip,Ubuntu 14.04,Xvfb,问题是您从未在代码中定义显示。python代码的名称与名为pyvirtualdisplay的模块名称一致 python代码的文件名为pyvirtualdisplay.py,您还可以尝试从名为pyvirtualdisplay的模块导入 从您的pyvirtualdisplay.py中可以看到,任何地方都没有定义名为Display的函数 Python按顺序使用以下搜索路径查找您尝试导入的模块: 程序的主目录 环境变量中的目录PYTHONPATH 标准库目录 任何.pth文件的内容 因此,在您的例子中,

问题是您从未在代码中定义
显示
。python代码的名称与名为
pyvirtualdisplay
的模块名称一致

python代码的文件名为
pyvirtualdisplay.py
,您还可以尝试从名为
pyvirtualdisplay
的模块导入

从您的
pyvirtualdisplay.py
中可以看到,任何地方都没有定义名为
Display
的函数

Python按顺序使用以下搜索路径查找您尝试导入的模块:

  • 程序的主目录

  • 环境变量中的目录
    PYTHONPATH

  • 标准库目录

  • 任何
    .pth
    文件的内容

  • 因此,在您的例子中,python尝试在运行
    pyvirtualdisplay.py
    的同一目录中搜索,并且它能够找到名为
    pyvirtualdisplay
    的文件。因此,python尝试在
    pyvirtualdisplay.py
    (您自己的代码)中搜索Display,因此无法找到任何相关内容。这就是它抱怨
    无法导入名称显示的原因


    我的建议是,您可以将python代码的名称更改为另一个名称,例如,
    pyvirtualdisplays.py
    ,这将起作用。

    问题是您从未在代码中定义
    显示。python代码的名称与名为
    pyvirtualdisplay
    的模块名称一致

    python代码的文件名为
    pyvirtualdisplay.py
    ,您还可以尝试从名为
    pyvirtualdisplay
    的模块导入

    从您的
    pyvirtualdisplay.py
    中可以看到,任何地方都没有定义名为
    Display
    的函数

    Python按顺序使用以下搜索路径查找您尝试导入的模块:

  • 程序的主目录

  • 环境变量中的目录
    PYTHONPATH

  • 标准库目录

  • 任何
    .pth
    文件的内容

  • 因此,在您的例子中,python尝试在运行
    pyvirtualdisplay.py
    的同一目录中搜索,并且它能够找到名为
    pyvirtualdisplay
    的文件。因此,python尝试在
    pyvirtualdisplay.py
    (您自己的代码)中搜索Display,因此无法找到任何相关内容。这就是它抱怨
    无法导入名称显示的原因


    我的建议是,您可以将python代码的名称更改为另一个名称,例如,
    pyvirtualdisplays.py
    ,这样就行了。

    哦,上帝。。。那会是微不足道的吗?!我感到非常尴尬。是的,当然!!谢谢你费心回答这样一个愚蠢的问题,我非常感谢。我被另一个问题扯到一边了。哦,天哪。。。那会是微不足道的吗?!我感到非常尴尬。是的,当然!!谢谢你费心回答这样一个愚蠢的问题,我非常感谢。我被另一个问题转移了注意力。
    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:    14.04
    Codename:   trusty
    
    $ apt --installed list | grep xvfb
    xvfb/trusty-updates,trusty-security,now 2:1.15.1-0ubuntu2.7 amd64 [installed]
    
    python --version
    Python 2.7.6
    
    $more pyvirtualdisplay.py
    
    #!/usr/bin/env python
    
    from pyvirtualdisplay import Display
    from selenium import webdriver
    
    display = Display(visible=0, size=(800, 600))
    display.start()
    
    # now Firefox will run in a virtual display. 
    # you will not see the browser.
    browser = webdriver.Firefox()
    browser.get('http://www.google.com')
    print browser.title
    browser.quit()
    
    display.stop()
    
    $ python pyvirtualdisplay.py
    
    Traceback (most recent call last):
      File "pyvirtualdisplay.py", line 3, in <module>
        from pyvirtualdisplay import Display
      File "/root/pyvirtualdisplay.py", line 3, in <module>
        from pyvirtualdisplay import Display
    ImportError: cannot import name Display
    
    $ pip --version
    pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
    
    $ pip list | grep PyVirtual
    PyVirtualDisplay (0.2)