我有一个相当老的系统,所以我不得不从源代码构建Tcl,Tk和Python。我正确配置了LD_LIBRARY_PATH
和PKG_CONFIG_PATH
环境变量,从源代码构建了Tcl和Tk(均为v8.6.8),并将其安装到/usr/local/
。构建后我运行了make test
,一切似乎都正常。然后,我使用命令从源代码构建Python 3.7.1:
/tmp/build/Python-3.7.1/configure --enable-optimizations \
--with-tcltk-includes=-I/usr/local/include \
--with-tcltk-libs=”-L/usr/local/lib -ltcl8.6 -ltk8.6” \
--with-ssl-default-suites=openssl
最初,我只看了他测试的不合格部分,而忽略了由于resource denied
或env changed
而被跳过的测试。安装后,我从已安装 python:
>>> import tkinter
但是我收到以下错误消息:
“如果失败,则可能无法为Tk配置Python”
因此,我从 build 目录重新运行了由于resource denied
而跳过的Tk测试:
./python -m test.test_tk; ./python -m test.test_ttk_guionly
我可以看到Tk小部件闪烁并显示所有tkinter测试都通过了。另外,当我从构建目录(./python -m tkinter
)执行python时,我可以看到带有消息
“这是Tcl / Tk 8.6版”。
因此,看来tkinter模块已构建并且可以正常工作,但是当我执行sudo make install
时并没有安装它。 /usr/local/lib/python3.7/tkinter
目录显示了运行它所需的所有python脚本。
我尝试清理构建目录并重新安装,但无济于事。我有点困惑。可能是什么问题?