开发者

Why aren't the Python 2.7 command-line tools located in `/usr/local/bin` on Mac OS X?

开发者 https://www.devze.com 2023-01-08 03:26 出处:网络
The Python 2.7 installer disk image for Mac OS X (python-2.7-macosx10.5.dmg) states: The installer puts the applications in \"Python 2.7\" in your Applications folder, command-line tools in /usr/loc

The Python 2.7 installer disk image for Mac OS X (python-2.7-macosx10.5.dmg) states:

The installer puts the applications in "Python 2.7" in your Applications folder, command-line tools in /usr/local/bin and the underlying machinery in /Library/Frameworks/Python.framework.

However, after installation there are no Python 2.7 files in /usr/local/bin/.

  • Are others seeing the same behavior?
  • I assume the solution is simply to create the equivalent symbolic links to /usr/local/bin as Python 2.6, or am I ov开发者_JAVA百科erlooking something?


The python.org Python installer for OS X is a meta package with a set of several packages. You can see the packages by clicking on the Customize button during the installation process. The symlinks in /usr/local/bin are installed by the UNIX command-line tools package. For the 2.7 release, that package is no longer selected by default. You can install it and the symlinks by doing a custom install and selecting that package; if you've already installed 2.7, select just that package.

EDIT: That said, it is important to recognize that, with OS X Python framework builds, just having /usr/local/bin in your search path is generally not sufficient. The reason for that is that python scripts included in packages are, by default, installed into the bin directory of the Python directory, e.g. /Library/Frameworks/Python.framework/Versions/2.7/bin. This is true of just about anything that uses Distutils defaults or installation tools that wrap Distutils, like easy_install (Distribute or setuptools) or pip. This is why there is another installer package, Shell profile updater, that is enabled by default and attempts to modify your login profile to put the framework bin directory at the front of your shell search path, PATH. If that is done, the symlinks in /usr/local/bin are not required for python2.7 to be invoked.


Steven Majewski's comment stating "I believe I had to explicitly select that option ( "install command line tools" ) in the installer" made me think that I overlooked something in the installer. Sure enough, I overlooked the Customize option. See below.

Optional Customize Python Install http://img.skitch.com/20100716-ede8ausmtch9cb6g4mqp4hcm84.jpg

Select UNIX Command-Line Tools http://img.skitch.com/20100716-817rjbyikr8c4y88xkfj6qeg1p.jpg


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

Yeah, that sucks.

I'd follow the pattern that the Python 2.6 (and, in my case, 2.5) installer did, and create the symlinks (as you're suspecting). The pattern stayed the same, at least:

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

Might be worth a bug report against the installer.

0

精彩评论

暂无评论...
验证码 换一张
取 消