为什么Mac OS X上的Python 2.7命令行工具没有放在`/usr/local/bin`中?

5
Python 2.7的Mac OS X安装程序磁盘映像文件(python-2.7-macosx10.5.dmg)说明如下:
安装程序将应用程序放置在您的“应用程序”文件夹中的“Python 2.7”中,命令行工具在/usr/local/bin中,底层机制在/Library/Frameworks/Python.framework中。
然而,在安装后,/usr/local/bin中没有Python 2.7文件。
您是否也遇到了同样的问题?
我认为解决方案很简单,只需创建与Python 2.6相应的符号链接到/usr/local/bin,或者是我忽略了什么?

谢谢你的鼓励,我现在正在尝试安装2.7版本。 - Jed Smith
是的,在这里看起来一样。/usr/local/bin中没有Python 2.7。不过我的路径中仍然有Python2.7,所以我不知道这是否是一个问题。 - Mattias Nilsson
我遇到了这个问题:zsh: command not found: python2.7 - Jed Smith
@Matthias:which python2.7是什么? - kennytm
1
我在 /usr/local/bin 中有 2.7 的链接,但我相信我必须在安装程序中明确选择该选项(“安装命令行工具”)。 - Steven D. Majewski
@Kenny /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 - Mattias Nilsson
3个回答

4
python.org Python安装程序是一个元包,包含多个包。您可以在安装过程中单击“自定义”按钮查看这些包。UNIX命令行工具包安装在/usr/local/bin中的符号链接。对于2.7版本,此包不再默认选择。您可以进行自定义安装并选择该包以及符号链接;如果您已经安装了2.7,则选择只有该包即可。
编辑:但是,请注意,在OS X Python框架构建中,仅仅将/usr/local/bin放入搜索路径通常是不够的。原因是包含在软件包中的python脚本默认情况下会安装到Python目录的bin目录中,例如 /Library/Frameworks/Python.framework/Versions/2.7/bin. 这适用于几乎所有使用Distutils默认值或包装Distutils的安装工具的事情,如easy_install(Distribute或setuptools)或pip。这就是为什么还有另一个安装程序包Shell profile updater,默认情况下启用,并尝试修改您的登录配置文件以将框架bin目录放在shell搜索路径PATH的最前面。如果这样做,则不需要/usr/local/bin中的符号链接来调用python2.7

Ned - 没有符号链接,当我尝试使用Python 2.7创建虚拟环境时,会出现错误,而我的默认安装是Python 2.6.5(即,我在~/.bash_profile中为2.6设置了PATH =“/Library/Frameworks/Python.framework/Versions/2.6/bin:$ {PATH}”但没有为2.7设置)。现在安装了符号链接后,我可以使用Python 2.7创建虚拟环境mkvirtualenv -p python2.7 foo27 - Matthew Rankin
1
如果将 2.7/bin 添加到您的 PATH 中,这也应该解决问题。 如果您希望默认的 python 保持 python.org 2.6,则需要在 2.6 bin 之后插入 2.7/bin:PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" - Ned Deily

2

1
正如我在我的回复和评论中所指出的,虽然使用“UNIX命令行工具”包安装/usr/local/bin链接没有任何问题(我也同意它们应该默认安装),但这样做是不足以保证在尝试安装第三方包时正确运行2.7版本的。默认情况下,甚至 easy_install 本身都会被安装在 2.7/bin 目录中,而不是 /usr/local/bin - Ned Deily

-1
11:54 jsmith@upsidedown find /usr -name python2.7
11:54 jsmith@upsidedown

是啊,那很糟糕。

我会遵循 Python 2.6(以及在我的情况下是 2.5)安装程序所做的模式,并创建符号链接(正如你怀疑的那样)。至少模式保持不变:

11:57 jsmith@upsidedown /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Python 2.7 (r27:82508, Jul  3 2010, 21:12:11) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

可能值得向安装程序提交错误报告。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接