setup.py 安装位置?

4 投票
1 回答
10972 浏览
提问于 2025-04-17 03:32

我在使用 Mac OS X Lion 10.7.1,系统里装了 Python 2.6 和 2.7 两个版本。我把 2.6 设置成了默认版本。现在我想安装一个包,但它却安装到了 2.7 里。我的设置是这样的:

~:hi› which python
/usr/bin/python

~:hi› python -V
Python 2.6.6

~:hi› python
Python 2.6.6 (r266:84292, Jun 16 2011, 16:59:16) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.prefix
'/System/Library/Frameworks/Python.framework/Versions/2.6'
>>> sys.exec_prefix
'/System/Library/Frameworks/Python.framework/Versions/2.6'

难道它不应该安装在 2.6 的 site-packages 里吗?我是不是对这个过程理解错了?

编辑

  • 我想安装的包是 virtuanenvwrapper

  • 我把 2.6 设置成默认版本是这样做的:

    defaults write com.apple.versioner.python Version 2.6
    
  • 我尝试这样安装它:

    sudo python setup.py install
    sudo /usr/bin/python setup.py install
    

1 个回答

3

当你用 setup.py 安装一个 Python 包时,它不会考虑苹果系统的设置。它只知道你用哪个版本的 Python 来运行它。如果你输入:

python2.6 setup.py …

那么就会使用这个版本,另外一个命令也是一样:

python2.7 setup.py …

如果你使用这两个命令中的第一个,包会像你想的那样安装在 2.6 版本下吗?我猜 sudo 运行的那个终端可能默认使用 2.7 版本,而不管你平常的终端使用哪个 Python 版本。如果你输入:

sudo python -V

撰写回答