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
文件的内容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)