python - 在 Python 3.5 中,无法导入 zenity

标签 python python-3.x zenity

Python 3.5.2,Mint Linux 32 位。

我已按照此处的文档操作 -- https://pypi.org/project/python-zenity/#example -- 并尝试了其变体,但无法将 zenity 库导入 Python 3。

  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-zenity 的变体, python_zenity , from pythonzenity import * (只是为了让 import 工作),等等。

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


编辑:

根据 metatoaster 的回答,卸载了 python-zenity,安装了 zenipyimport 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/

相关文章:

python - 如何将众多类型的列表附加到单个字符串(python)

Python URL 请求

javascript - Python Flask 每 60 秒刷新一次表

python - Jupyter笔记本: Error while connecting to Server

c - Bash 脚本中的流程控制和返回值

python - 为什么我在 Okta OAuth2.0/api/v1/authorize 端点上得到 'E0000022'?

python-3.x - 使用机器学习算法时无法将字符串转换为 float (python 3) (Anaconda)

python - python 期中考试任务,字典中的列表,列表中的字典

BASH - 在 zenity 中通过多种模式选择文件

bash - 在 bash 中存储管道函数的返回值的正确方法