Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python安装在Mountain Lion上遗漏了很多东西_Python_Macos_Directory_Osx Lion_Osx Mountain Lion - Fatal编程技术网

Python安装在Mountain Lion上遗漏了很多东西

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和

在执行“哪个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
和其他几个系统路径在查找程序中不可见。

/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版本的符号链接,如上所述


如果