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

5 投票
3 回答
7520 浏览
提问于 2025-04-16 01:24

Mac OS X的Python 2.7安装包(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的符号链接,还是说我漏掉了什么?

3 个回答

-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.
>>> 

可能值得对安装程序提个bug报告。

2

Steven Majewski的评论提到“我觉得我必须在安装程序中明确选择那个选项(‘安装命令行工具’)”,这让我意识到我在安装过程中可能漏掉了什么。果然,我忽略了Customize这个选项。请看下面的内容。

可选的自定义Python安装 http://img.skitch.com/20100716-ede8ausmtch9cb6g4mqp4hcm84.jpg

选择UNIX命令行工具 http://img.skitch.com/20100716-817rjbyikr8c4y88xkfj6qeg1p.jpg

4

在python.org上下载的适用于OS X的Python安装程序其实是一个包含多个小程序的集合包。在安装过程中,你可以点击Customize按钮来查看这些小程序。/usr/local/bin中的符号链接是由UNIX命令行工具这个小程序安装的。在2.7版本中,这个小程序默认是没有被选中的。如果你想要安装它和符号链接,可以选择自定义安装,并勾选这个小程序;如果你已经安装了2.7版本,只需选择这个小程序即可。

补充说明:需要注意的是,对于OS X的Python框架版本,仅仅把/usr/local/bin放在你的搜索路径中通常是不够的。原因是,默认情况下,包含在小程序中的Python脚本会被安装到Python目录的bin文件夹里,比如/Library/Frameworks/Python.framework/Versions/2.7/bin。这适用于几乎所有使用Distutils默认设置或封装了Distutils的安装工具,比如easy_installDistributesetuptools)或pip。因此,还有一个安装包叫做Shell profile updater,这个包默认是启用的,它会尝试修改你的登录配置文件,把框架的bin目录放到你的shell搜索路径PATH的最前面。如果这样做了,那么/usr/local/bin中的符号链接就不再是调用python2.7所必需的了。

撰写回答