为什么Python 2.7命令行工具不在Mac OS X的`/usr/local/bin`中?
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 个回答
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报告。
Steven Majewski的评论提到“我觉得我必须在安装程序中明确选择那个选项(‘安装命令行工具’)”,这让我意识到我在安装过程中可能漏掉了什么。果然,我忽略了Customize
这个选项。请看下面的内容。
可选的自定义Python安装 http://img.skitch.com/20100716-ede8ausmtch9cb6g4mqp4hcm84.jpg
选择UNIX命令行工具 http://img.skitch.com/20100716-817rjbyikr8c4y88xkfj6qeg1p.jpg
在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_install
(Distribute
或setuptools
)或pip
。因此,还有一个安装包叫做Shell profile updater
,这个包默认是启用的,它会尝试修改你的登录配置文件,把框架的bin目录放到你的shell搜索路径PATH
的最前面。如果这样做了,那么/usr/local/bin
中的符号链接就不再是调用python2.7
所必需的了。