What is the correct way to install and update Python packages on OS X Mountain Lion, using Apple's built in Python?
I've tried all everything I can find here and in the documentation for various packages but keep encountering all kinds of errors that result in failed or aborted installations or updates. Notably, with pip
I frequently get errors like
RuntimeError: maximum recursion depth exceeded in cmp
or
SError: [Errno 24] Too many open files: '/Library/Python/2.7/site-packages'
and some commands pip
commands (like list
) just don't seem to exist at all.
I have an uptodate version of pip
that works fine with some packages, and have the latest Xcode command line tools installed.
The only thing that seems to work — and it works all the time — is
python setup.py install
Is this the correct way to maintain and install python packages on Lion? Is there any reason not to use this method as my primary method for keeping packages uptodate? Should pip
be working for me, or does it not work with Apple's Python?
UPDATE: I spoke too soon. I also have problems with
python setup.py install
Occasionally (often) I'll get:
error: /Library/Python/2.7/site-packages: Too many open files
When nothing is running in a fresh Terminal, I get about 50 when I
lsof | grep python | wc -l
and if I quit Dropbox, which seems to be the source of these, and reduce the number to 0, I still get "Too many open files" for most package installation operations, with whatever tool I use, even after a reboot of my system.
Why am I getting a "too many open files" error so often?
You should be able to maintain exactly as you're doing, but likely need to update your PYTHONPATH to somewhere outside of /Library, hence the reason everyone else is mentioning that and/or using homebrew to install python.
I install python packages with pip
and maintain them using:
First of all, download and install the full Python from the python website .
Then use pip
(or homebrew
). The built-in python is incomplete in many respects, including mainly, the ability to install new packages. I faced similar problems when I fist got my MacBookPro and installing the full python on top of the built-in one solved all my troubles
Why use Apple's built-in Python? It's incomplete, I think.
I'm using Homebrew and brew install python
works fine for me.
From https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python :
We recommend to
brew install python
because:
- Comes with
pip
(and distribute)- Python (distutils) finds brewed software (includes, libs), knows about the compiler and flags even if the command line tools for Xcode are not installed.
- No need to set the
PYTHONPATH
for Homebrew bindings.- No need to work-around the
sudo
-is-needed-for-easy_install
issue
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.