自定义python安装位置:tkinter问题

时间:2016-01-29 20:15:07

标签: python python-2.7 tkinter ubuntu-14.04

我正在使用Ubuntu 14.04。虽然我必须将我的“主要”python安装保留为2.7.6,但我需要安装2.7.9以便能够使用ssl.SSLContext来让Flask处理HTTPS请求。

但是,如果我这样做:

sudo make install

sudo make altinstall

在Python-2.7.9目录中,我最终得到:

make: *** [libinstall] Error 1

编辑:这出现在sudo make install

的末尾
...
Compiling /usr/local/lib/python2.7/xml/sax/saxutils.py ...
Compiling /usr/local/lib/python2.7/xml/sax/xmlreader.py ...
Compiling /usr/local/lib/python2.7/xmllib.py ...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

所以我通过修改对./config的调用将它安装到自定义目录中,但没有产生libinstall错误。

但是,当我尝试将Tkinter导入Python 2.7.9(从自定义目录运行)时,我获得了:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/repos/Python279/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter

如果我继续安装vanilla方式(即,到非自定义目录)并且在导入Tkinter时忽略我得到的libinstall错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: /usr/lib/python2.7/lib-dynload/_tkinter.so: undefined symbol: PyFPE_jbuf

有谁知道发生了什么事?

2 个答案:

答案 0 :(得分:1)

关注furas&#39;建议,通过安装 Python 2.7 PPA maintained be Felix Krull非常出色。谢谢Furas!

编辑一些注意事项:

  1. 因为这个PPA安装了python2.7(特别是v.2.7.11,截至2016年1月29日),这就避免了对自定义python安装位置的需求
  2. 虽然PPA网站提到这不包括python-tk,但如果你安装了它,python就可以很好地解决它(解决我的问题)

答案 1 :(得分:0)

首先必须配置,编译,然后安装程序中的源代码。您可以通过以下方式执行此操作:

./configure # Or ./config depending on the file name
make
make install

其次,当您尝试导入模块_tkinter时,您想要导入名为Tkinter.py的.py文件 尝试使用:

import Tkinter