Python版本通过Macports安装Python 3.3后消失了

时间:2012-10-23 15:49:31

标签: python macos macports

所以我使用port install python33

通过Macports安装了Python 3.3

(使用OSX 10.8.2 ML)

一切正常(至少它最后没有发出任何错误信息)

所以在此之后我想通过端口选择选择这个特定的python版本,并且首先希望现在拥有所有可用版本的列表:

port select --list python

现在这只给我一个3选项列表:

Available versions for python:
    None
    python27 (active)
    python33

在我安装python33之前,我还列出了python的苹果版本:

Available versions for python:
    none
    python25-apple
    python26-apple
    python27 (active)
    python27-apple

Apple版本仍然存在(位于:/System/Library/Frameworks/Python.framework/Versions),它们不再被列出。

有谁知道如何处理这个问题? (另外,当我在shell中使用python命令时,它仍然使用python27-apple版本。当我想要更改之前的版本时,发生了错误。但那将是另一个问题。)

编辑(2012年10月24日):

与此同时,我发现了命令:

port contents python_select

给出:

Port python_select contains:
    /opt/local/etc/select/python/base
    /opt/local/etc/select/python/none

除了此处列出的内容外,该文件夹还包含以下文件:

drwxr-xr-x  8 admin  272 24 Okt 09:50 .
drwxr-xr-x  5 admin  170  4 Okt 15:05 ..
-rw-r--r--  1 wheel  363 23 Okt 17:18 base
lrwxr-xr-x  1 admin    8 23 Okt 18:05 current -> python27
-rw-r--r--  1 wheel   26 23 Okt 17:18 none
-rw-r--r--  1 wheel  398 23 Okt 23:27 python27
-rw-r--r--  1 wheel  384 23 Okt 17:21 python33

python27和33文件是一个简单的文本文件,内容如下,内容相同(版本号不同):

bin/python2.7
bin/pythonw2.7
bin/python2.7-config
bin/idle2.7
bin/pydoc2.7
bin/smtpd2.7.py
bin/2to3-2.7
share/man/man1/python2.7.1
-
/opt/local/Library/Frameworks/Python.framework/Versions/2.7
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Headers
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Python    

但就是这样。我不知道我能用这些信息做些什么......

1 个答案:

答案 0 :(得分:1)

  

(另外,当我在shell中使用python命令时,它仍然使用python27-apple版本。当我想更改之前的版本时,发生了错误。但这将是另一个问题。)

这听起来像你的搜索路径是不对的。修改您的~/.bashrc并在接近结尾处输入:

export PATH=/opt/local/bin:$PATH

如果您想要在整个系统范围内使用,请修改/etc/bash.rc并将PATH定义放在那里。你想把它放在接近结尾的位置,因为bash资源有时会重新定义PATH(所以如果你把它放在开头,那么剩下的配置很可能会改变它)。

无论如何,在下一次终端启动之后,应该在python中解析命令/opt/local/bin/,并且python可执行文件应该有一个符号链接到您选择的任何端口版本。

更新:您可以根据PATH设置测试您的shell会选择哪个Python版本:

which python

这应该打印

/opt/local/bin/python