今天有点震惊。在运行MacPortsport -v selfupdate
并尝试运行之后,sudo port install py26-ipython
它安装了大量东西,包括将我的 Python 从 2.6.4 更新到 2.6.5。这很好,但有点令人毛骨悚然,出乎意料。
因此我尝试使用 MacPorts 安装 TKInter,port search tkinter
结果如下:
py-tkinter @2.4.6 (python, graphics)
Python bindings to the Tk widget set
py25-tkinter @2.5.4 (python, graphics)
This is a stub. tkinter is now built with python25
Found 2 ports.
于是我试了一下sudo port install py25-tkinter
,然后它尝试安装 Python 2.5.5。一定有更简单的方法来安装 TkInter,而不用费心……能帮忙吗?
答案1
Python 的 C 扩展需要针对每个主要版本(例如 2.x)使用不同的共享库
因此,Macports 为每个版本的 Python 创建了一组单独的端口。Macports 还会将其 Python 更新到最新的次要版本 - 因此,在您的情况下,从 2.5.4 升级到 2.5.5
要使用 macports python,您需要选择当前的主要版本 2.4、2.5、2.6、3.0 或 3.1(可能有 2.7,但库很少),然后选择您需要的库,这些库分别以 py-、py25-、py26-、py30- 和 py31- 为前缀
至于 TKinter,从 2.6 开始它是基本 python 端口的一部分,因此您不需要安装它。
您需要选择您的 Python 版本 - 我建议使用 2.6。这是通过安装 port python select 然后运行 ot 来选择版本来完成的,例如
python_select python26
答案2
如果您不希望 MacPorts 在安装新端口之前更新您现有的过时软件,请使用开关-n
。
sudo port -n install py26-ipython
通常最好先升级,然后再安装新的端口,因为这样不容易出错。