所以我使用port install python33
(使用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
但就是这样。我不知道我能用这些信息做些什么......
答案 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