无法从 Python3 导入 tkSnack
Posted
技术标签:
【中文标题】无法从 Python3 导入 tkSnack【英文标题】:Unable to import tkSnack from Python3 【发布时间】:2020-07-17 14:34:48 【问题描述】:我正在尝试在 Debian 10 中从 Python3 导入 tkSnack。
我已经从 apt 安装了 tkSnack:
apt-get install python3-tksnack
无论如何,当尝试从 python3 导入 tkSnack 模块时:
ModuleNotFoundError: No module named 'tkSnack'
我也尝试过从pip安装tkSnack,但是出现如下错误信息:
ERROR: Command errored out with exit status 1:
command: /home/cooper/anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-x8rnbcp1/snack/setup.py'"'"'; __file__='"'"'/tmp/pip-install-x8rnbcp1/snack/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-x8rnbcp1/snack/pip-egg-info
cwd: /tmp/pip-install-x8rnbcp1/snack/
Complete output (6 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-x8rnbcp1/snack/setup.py", line 47
print GCC_VERSION
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(GCC_VERSION)?
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
奇怪的是,在python2.7中导入tkSnack时一切正常!
有人对此有任何想法吗?谢谢!
【问题讨论】:
【参考方案1】:您的问题中有 2 个不同的问题,所以如果您问了 2 个不同的问题会更好。
您使用系统包管理器apt-get
安装了该包,但尝试与本地 anaconda 环境一起使用。这不起作用:使用系统包管理器安装的包应该与系统安装的 python 一起使用。要将软件包安装到虚拟环境(包括 anaconda)中,请使用 conda
或 pip
。
SyntaxError
in print
表示代码仅适用于 Python2;在 Python3 中,print
成为一个函数并需要括号:print(GCC_VERSION)
。您似乎安装了错误的仅 Python2 版本的包,并试图将其与 Python3 一起使用。卸载它并使用 Python3 的代码更新重新安装。
【讨论】:
以上是关于无法从 Python3 导入 tkSnack的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:无法从“distutils”(/usr/lib/python3.8/distutils/__init__.py)导入名称“sysconfig”
ImportError:无法从“集合”(/usr/local/lib/python3.10/collections/__init__.py)导入名称“MutableMapping”
如何从 Qt:: 命名空间(Qt5,Python3.x)导入?