对OSX上Python安装路径的好奇
首先:我在用Macports,没什么问题,除了:
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin
这是我Macports的Python的sys.exec_prefix的值,尽管:
/opt/local/lib/python2.6/site-packages/
看起来把东西放在这里是很合理的,/opt/local就是Macports的前缀嘛。可是,为什么easy_install会把东西放到这个奇怪的Frameworks/Python.framework里呢?
更重要的是,我能否使用这里的方法,确保我所有系统范围内的Python,特别是我想放在/opt/local/bin里的脚本,比如我到处都用的(i|b)python,都是可以访问的呢?
1 个回答
1
首先,我想说的是,目录
/Library/Frameworks/Python.framework/Versions/2.6/...
是你可以找到OS X自带的Python版本的地方。所以我猜MacPorts的开发者想要做的,就是复制OS X的Python目录结构,但尽量把它和OS X的Python版本隔离开来。此外,我认为复制这个结构可以让你在MacPorts模块之外安装第三方扩展。我之前也做过这个,所以我知道这是可能的,只是你仍然需要确保:
- 在安装模块时,安装程序在进行路径搜索时遇到的Python版本是你想要安装的那个(也就是说,专为MacPorts Python设计的模块不会被安装到OS X的Python里)。你之前提到的页面详细说明了安装程序在寻找Python安装时的步骤,所以如果你在安装第三方模块时遇到问题,可以参考一下。
- 一旦你安装了模块,你需要自己跟踪这些模块,因为MacPorts不会为你管理这些。好消息是,所有的模块应该都在Python安装的site-extensions文件夹里,我想。
这个来自MacPorts常见问题的提问大致阐述了他们的目录组织理念。我觉得还有这个问题也很相关。