我尝试使用此链接的帮助在我的系统上安装 Screenlets (Screenlets 在 Ubuntu 16.04 中不起作用(只需要模拟时钟小部件)screenlets &
)。在完成所有给定步骤后,我尝试使用返回导入错误的命令来运行它ImportError: No module named xdg.BaseDirectory
。为了更清晰起见,我附上了我的终端的屏幕截图。请帮我解决这个错误。
提前致谢 :)
答案1
pip install pyxdg
对我有用。
答案2
不确定您的问题是否仍然相关。即使不相关,也许其他人会需要这些信息。
我遇到了同样的问题,在互联网上找不到解决方案。显然以前没有其他人遇到过这个问题。我的情况的解决方案是在 Python 的库路径中。您可以通过运行这个小 Python 脚本来检查库路径:
import sys
print '\n'.join(sys.path)
xdg.BaseDirectory 安装在子目录中,/usr/lib/python2.7/dist-packages
但由于路径,Python 将首先在 /usr/local/lib/python2.7/dist-packages 中查找。如果 xdg 位于 /usr/local/... 子目录中,您将收到相同类型的错误消息。(python2.7 只是一个例子;可能是 python3.5 或任何您的 Python 版本)
将所有 xdg 内容重命名为/usr/local/lib/python2.7/dist-packages
其他名称(以防万一),然后查看您的应用程序是否再次运行。就我的情况而言,它们运行正常。
请提供一些反馈,看它是否有效。
答案3
或者您可能尝试运行import xdg
然后引用xdg.BaseDirectory
,结果出现错误:AttributeError: module 'xdg' has no attribute 'BaseDirectory'
。
解决方法:import xdg, xdg.BaseDirectory
。