Python安装在Mountain Lion上遗漏了很多东西
在执行“哪个Python”时,它会显示“/usr/local/bin/Python”。但当我通过“finder”去那里时,那里什么都没有。我可以通过finder查看/Library/Python,单击Library/Python我可以看到2.3、2.5、2.6、2.7 当前默认的Python是2.7,我可以通过--version看到它。但它所拥有的只是/站点包。这怎么可能?我不确定它是操作系统附带的还是后来有人安装的。我很困惑Python安装在Mountain Lion上遗漏了很多东西,python,macos,directory,osx-lion,osx-mountain-lion,Python,Macos,Directory,Osx Lion,Osx Mountain Lion,在执行“哪个Python”时,它会显示“/usr/local/bin/Python”。但当我通过“finder”去那里时,那里什么都没有。我可以通过finder查看/Library/Python,单击Library/Python我可以看到2.3、2.5、2.6、2.7 当前默认的Python是2.7,我可以通过--version看到它。但它所拥有的只是/站点包。这怎么可能?我不确定它是操作系统附带的还是后来有人安装的。我很困惑 OSX 10.8.4和其他几个系统路径在查找程序中不可见。/usr和
OSX 10.8.4和其他几个系统路径在查找程序中不可见。
/usr
和其他几个系统路径在查找程序中不可见。/usr
和其他几个系统路径在查找程序中不可见。您发现的只是python二进制文件的符号链接,请尝试执行以下操作:
ls -l /usr/local/bin/python
这将显示此simlink指向的位置。例如,我得到(见行末):
通常位于:
/Library/Frameworks/Python.framework/Versions/2.7/
您发现的只是python二进制文件的符号链接,请尝试执行以下操作:
ls -l /usr/local/bin/python
这将显示此simlink指向的位置。例如,我得到(见行末):
通常位于:
/Library/Frameworks/Python.framework/Versions/2.7/
除了遵循符号链接外,您还可以导入包并键入包的名称以查找它在磁盘上的位置:
>>> import crypt
>>> crypt
<module 'crypt' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/crypt.so'>
导入密码
>>>地穴
除了遵循符号链接外,您还可以导入包并键入包的名称以查找其在磁盘上的位置:
>>> import crypt
>>> crypt
<module 'crypt' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/crypt.so'>
导入密码
>>>地穴
首先,/usr/local/bin/python不是苹果提供的python;这总是在/usr/bin/python中 第二,/Library/Python/X.Y应该只有站点包。特别是,您可以将希望所有PythonX.Y框架构建共享的包放在系统中。(还有/usr/local/lib/pythonX.Y,它也有一个站点包,用于所有构建、框架和非框架共享的包。) 实际苹果提供的Python本身位于/System/Library/Frameworks/Python.framework中 大多数第三方框架构建都位于/Library/Frameworks/Python.framework中。但是,Homebrew、MacPorts和Fink都安装在不同的位置。例如,Homebrew将安装到`/usr/local/ceral/python/X.Y.Z/Frameworks/python.framework 相反,非框架构建会进入到/usr/local/share/pythonX.Y之类的地方——不过,Homebrew、MacPorts和Fink也会安装到不同的地方 最后,许多安装将创建到更典型位置的符号链接(有时是包装脚本)。特别是,/usr/local/bin/python可能是相应python.framework中/X.Y/bin/python版本的符号链接,如上所述
如果这对您来说太让人困惑,甚至无法理解,那么最简单的方法就是卸载您安装的额外Python2.7,然后。当然,有些人有很好的理由使用另一个Python2.7(上面链接的博客文章显示了其中的一些),但是如果你没有这样的理由,为什么要让事情变得更艰难呢 因为它看起来像是在使用自制的,所以您甚至可以无损地测试它是否会导致任何问题:
brew unlink python
将从您的正常路径中删除自制python的所有痕迹,但保留实际文件。然后,如果您想要它回来,只需brew链接python
;如果没有它您会更开心,brew卸载python
值得注意的是,许多认为您需要多个PythonX.Y安装的常见原因可以通过使用更容易、更干净地解决
若您使用的是MacPorts或Fink,则它们的明确设计旨在尽量避开标准系统位置。因此,所有内容都将安装在MacPorts/Fink根目录下的某个位置,默认分别为
/opt/local
或/sw
。(我将假设/opt/local
)这意味着框架构建将类似于/opt/local/Library/Frameworks
,其中包含/opt/local/bin
和/opt/local/lib
等符号链接。网站包将位于/opt/local/Library/Python/X.Y
和/或/opt/local/lib/pythonX.Y
中
因此,不可能与任何其他Python安装发生任何冲突……当然,除了苹果或Python.org安装的
/opt/local/bin
和/usr/local/bin
可能都在您的路径上,仍然有可能pip
意味着/usr/local/bin/pip
,虽然ipython
表示MacPorts one中的/opt/local/bin/ipython
。首先,/usr/local/bin/python不是苹果提供的python;这总是在/usr/bin/python中
第二,/Library/Python/X.Y应该只有站点包。特别是,您可以将希望所有PythonX.Y框架构建共享的包放在系统中。(还有/usr/local/lib/pythonX.Y,它也有一个站点包,用于所有构建、框架和非框架共享的包。)
实际苹果提供的Python本身位于/System/Library/Frameworks/Python.framework中
大多数第三方框架构建都位于/Library/Frameworks/Python.framework中。但是,Homebrew、MacPorts和Fink都安装在不同的位置。例如,Homebrew将安装到`/usr/local/ceral/python/X.Y.Z/Frameworks/python.framework
相反,非框架构建会进入到/usr/local/share/pythonX.Y之类的地方——不过,Homebrew、MacPorts和Fink也会安装到不同的地方
最后,许多安装将创建到更典型位置的符号链接(有时是包装脚本)。特别是,/usr/local/bin/python可能是相应python.framework中/X.Y/bin/python版本的符号链接,如上所述
如果