今天我想开始与Tkinter合作,但我遇到了一些问题.
Python 3.2 (r32:88445, Mar 28 2011, 04:14:07)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from tkinter import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/tkinter/__init__.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
Run Code Online (Sandbox Code Playgroud)
那么如何配置我的Python 3.2以使用Tkinter?
我有另一个线程询问"缺少zlib"的帮助.有了很好的帮助,问题已经得到解决(差不多).
现在我有兴趣自己构建Python(在Ubuntu 10.10上).
一些重要问题引起了我的注意:
在构建Python(比如2.7.1)之后,如果我缺少模块,是否需要重建Python?
有没有办法在构建Python之前找出哪些模块会丢失?说sqlite3.我为系统默认安装了sqlite3(Python 2.6.6),我可以将它导入到Python 2.6.6 shell中.现在我使用pythonbrew构建2.7.1,并且在shell中我无法导入sqlite3,因为_sqlite3不可用.我确信有一些更重要的缺失是我未来发展所需要的(例如Django ......).
我愿意学习如何在不使用pythonbrew的情况下构建.
请与我分享您构建另一个版本的Python的经验,以及如何解决缺少模块的问题?是否有构建Python的实用解决方案?
我从来没有打扰过自己建造一个,所以请耐心等待.我开始意识到学习和建立自己的重要性!非常感谢你!
编辑
首先,我感谢你们的所有投入.他们意味着很多.我做了这座建筑.
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _curses _curses_panel
_tkinter bsddb185 bz2
dbm gdbm readline
sunaudiodev _sqlite3
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
Run Code Online (Sandbox Code Playgroud)
我得到了sqlite3和readline
sudo apt-get install libreadline6 libreadline6-dev
sudo apt-get install libsqlite3-dev
Run Code Online (Sandbox Code Playgroud)
我试图导入它们,但仍然"没有命名模块xxxx".
在AskUbuntu,我实际上问过人们如何获取以前的命令,因为当我在Python 2.7.1 shell中时,我无法使用该功能.我相信这是由于readline. 的ReadLine
我在这个目录下安装了Python-2.7.1:/ home/jwxie518/python27 /
我查看了setup.py,发现了以下几行:
# …Run Code Online (Sandbox Code Playgroud) 当尝试使用 Tkinter 标准库包或其相关功能(海龟图形使用turtle和内置 IDLE IDE)或使用将此作为依赖项的第三方库(例如显示使用 Matplotlib 的图形窗口)。
似乎即使不存在因隐藏标准库模块名称而引起的问题(对于尝试遵循教程并使用海龟图形的初学者来说,这是一个常见问题 -示例 1;示例 2;示例 3;示例 4),通常会发生标准库 Tkinter 无法工作的情况。这是一个大问题,因为许多初学者再次尝试遵循使用海龟图形的教程,并盲目地假设turtle标准库将会存在。
可能会报错:
作为ModuleNotFoundError: No module named 'tkinter'; 或ImportError具有相同消息的 ;或使用不同的大小写(我知道名称从Tkinter2.x 更改为tkinter3.x;这是一个不同的问题)。
类似地,但引用内部_tkinter模块,并显示带有注释的代码“如果失败,您的 Python 可能无法配置 Tk”;或者使用自定义错误消息“请安装 python-tk 包”或类似内容。
当尝试turtle专门使用时,出现“没有名为turtle的模块” ,或者上述错误之一。
当尝试使用 Matplotlib 显示绘图时;通常,这种情况会在尝试更改后端后发生,默认设置是为了避免尝试使用 Tkinter。
当 Tkinter 被记录为标准库的一部分时,为什么会出现这样的问题?如何添加或修复缺少的标准库功能?对于特定的 …
当我运行以下代码时:
import Tkinter
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: /usr/lib/libtk8.5.so.0: invalid ELF header, please install the python-tk package
Run Code Online (Sandbox Code Playgroud)
但是,已安装python-tk。
$ sudo apt-get install python-tk
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-tk is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)
在调查失败的原因之后,我查看了Tkinter.py。这是行失败。 …