在 Python 3.5 中,无法导入 zenity



python 3.5.2,mint linux 32-t。

我已经在此处遵循文档 - https://pypi.org/project/python-zenity/#example-并尝试了它们的变化,但无法将 zenity 库导入到python3。

  1. pip3 search zenity 结果:

    python-zenity (0.1.3) - Simple dialog with Python and Gtk

  2. 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

  3. pip3 list | grep zenity 结果:

    python-zenity 0.1.3

  4. 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.
    >>>

  5. 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-zenitypython_zenityfrom pythonzenity import *的变化(只是尝试使import工作)等等。

导入 pip3 告诉我我已经成功安装的python-zenity库的"技巧"是什么?


编辑:

根据Metatoaster的答案,已安装 Zenipy 的卸载 python-Zenity 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定义了不再支持的相对导入。如果您不介意(按照Traceback/usr/local/lib/python3.5/dist-packages/pythonzenity/__init__.py手动纠正语句,请将import *行更改为:

 from .python_zenity import *

应该触发导入。

另外,请参阅实际具有包装名称更改的链接的GIT存储库,并且该导入语句现在通过同一__init__.py文件中的适当相对导入语法完成。

更好的解决方案是以其新名称Zenipy。

相关内容

  • 没有找到相关文章

最新更新