Python 3.5.2,Mint Linux 32 位。
我已按照此处的文档操作 -- https://pypi.org/project/python-zenity/#example -- 并尝试了其变体,但无法将 zenity 库导入 Python 3。
pip3 search zenity
结果:python-zenity (0.1.3) - Simple dialog with Python and Gtk
sudo -H pip3 install python-zenity
结果:Collecting python-zenity Installing collected packages: python-zenity Running setup.py install for python-zenity ... done Successfully installed python-zenity-0.1.3
pip3 list | grep zenity
结果:python-zenity 0.1.3
python3
结果:Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
import pythonzenity
结果:Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/pythonzenity/__init__.py", line 1, in <module>
from python_zenity import *
ImportError: No module named 'python_zenity'
和 python-zenity
的变体, python_zenity
, from pythonzenity import *
(只是为了让 import
工作),等等。
导入 python-zenity
的“技巧”是什么? pip3 告诉我我已经成功安装的库?
编辑:
根据 metatoaster 的回答,卸载了 python-zenity,安装了 zenipy。 import zenipy
直接工作:
>>> import zenipy
>>> dir(zenipy)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'calendar', 'color_selection', 'entry', 'error', 'file_selection', 'message', 'password', 'question', 'scale', 'warning', 'zenipy', 'zlist']
>>>
最佳答案
异常消息实际上是由包本身生成的 - 它的 __init__.py
定义了一个相对导入 is no longer supported .如果您不介意手动更正其中的语句(根据 Traceback
)/usr/local/lib/python3.5/dist-packages/pythonzenity/__init__.py
,将 import *
行更改为:
from .python_zenity import *
哪个应该触发导入。
或者,引用链接的 Git 存储库,它实际上更改了包名,导入语句现在通过 the same __init__.py
file 中正确的相对导入语法完成。 .
更好的解决方案是以新名称 zenipy 安装当前版本的包.
关于python - 在 Python 3.5 中,无法导入 zenity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54661868/