2011-06-02 116 views
8

我在我的Mac上安裝了幾個不同版本的Python。默認版本是2.5,所以當我安裝一個模塊時,它被安裝到2.5。我需要能夠將一些模塊安裝到不同版本的Python,因爲我正在處理使用不同版本的項目。任何人都知道如何做到這一點?謝謝你的幫助。在Mac上安裝python模塊到非默認的python版本

+0

對於類似的問題,當安裝了macports ara的不同版本的python時,使用'easy_install'安裝模塊,請參閱http://stackoverflow.com/questions/5792060/easy-install-with-various-versions- of-python-installed-mac-osx – juanchopanza 2011-06-03 07:18:59

回答

4

如果你使用setup.py安裝,只需通過Python的相應版本,比如運行:

python2.6 setup.py install 

如果您使用的easy_install應該有所謂相應的Python版本的版本easy_install-NN,例如

easy_install-2.6 some_module 

如果你在需要不同的Python版本不同的項目,可考慮使用virtualenv(和virtualenvwrapper) - 它可以讓你火起來,並使用每個多個環境都有自己的Python版本和設置庫。用法示例會是這樣的:

$ python -V 
Python 2.5.4 
$ mkvirtualenv --python=python2.6 foo 
foo $ python -V 
Python 2.6.1 
foo $ pip install some_mod # installs module in foo's library, rather 
          # than site wide 
foo $ deactivate # leave the virtual env 
$ python -m some_mod 
/path/to/python: No module named some_mod 

要返回給foo的環境後,使用workon

$ workon foo 
foo $ python -m some_mod # no error, apns available within the env 
foo $ 

所以,你可以使用的virtualenv保持獨立的環境中已經安裝了Python的各個版本。在這些環境中,pip和easy_install只是做正確的事情。

+0

您究竟如何獲得所需的easy_install版本?我已經準備好的東西都不是容易的,或者指向我的東西。 – Michael 2014-05-02 22:28:28

+0

好的,顯然包名是'setuptools'而不是'easy_install'。 – Michael 2014-05-03 15:24:12

2

如果你已經使用它們安裝然後運行(作爲root):

port select --set python <python_version> 

提示:要列出可用的版本上運行:

port select --list python 

否則,你可以設置$PYTHON_PATH環境變量並將您所需的路徑添加到您的$PATH e環境變量也是如此。

您還需要更新/Library/Frameworks/Python.framework中的python.current(或具有類似名稱的東西)符號鏈接。


我強烈建議安裝使用的軟件包管理器(等)的所有版本,所以他們會更容易管理。

+0

'port install python_select'似乎繼續沒問題,但之後沒有'python_select'二進制文件... – Michael 2014-05-02 22:32:59

+0

'python_select'已被棄用。而不是'sudo port select --set python (例如python26)'。 – fardjad 2014-05-03 07:22:44

3

如果您通過setuptools(即python setup.py)進行安裝,它將安裝到您使用的python可執行文件的lib目錄(除非它是一個破損的軟件包)。