I am kind of annoyed by the installation of modules in python and had a lot of trouble with it, so it would be fantastic to find a good solution for it. Here are my issues:
- PYTHONPATH: How can I tell easy_install/Python where to install my packages?
Even though I put: /Library/Python/2.6/site-packages
in my .bash_profile
With:
PYTHONPATH="/Library/Python/2.6/site-packages"
export PYTHONPATH
It wont import packages I have there.
On the other site everything I put into:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
Works. I dont know why and would love to know.
- I just install "south" with the command
easy_install south
and it installed it, guess, right into:
/Library/Python/2.6/site-packages
Now copied "south" Which was installed there (it was in a Folder called: South-0.7.2-py2.6.egg
, i just copied south) and pasted it to
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
And now I can import it when going to directory of my django project (in which settings.py-Installed Apps I have 'south') and
python manage.py shell
Which according to south is a good indicator that it works.
- Can/Do I have to do that for every module? Is there a better elegant way to solve this. Please say there is.
Thanks
Based on the path (
/Library/Frameworks/Python.framework/Versions/2.6
) in your question, you appear to have installed an additional Python besides the ones supplied by Apple. That's the standard installation path for the python.org OS X installer.The trick to getting
easy_install
to install to the right Python site-packages location is to understand that each Python instance you have needs to have its own copy ofeasy_install
and you need to make sure you are using the right one when you install a package. For OS X 10.5 and 10.6, Apple supplieseasy_install
commands in/usr/bin
for the Pythons it supplies. For example, in 10.6:They will install into the appropriate locations in
/Library/Python/2.x/
which is where the Apple-supplied Pythons look for site-packages by default.For a python.org Python, the default site-package locations are in
/Library/Frameworks/Python.framework/Versions/x.y
. Under the appropriate directory there is alib/pythonx.y/site-packages
as you found and also abin
directory. To make the Python there the default, make sure that thatbin
directory is on your shell PATH and comes before/usr/bin/
, so something like:The python.org installers by default try to modify your shell profile files, like
.bash_profile
, to do this. Then follow the instructions to install either setuptools, which supplies the traditional version ofeasy_install
, or Distribute, the more cutting-edge version ofeasy_install
. You should then see aneasy_install
command in the frameworkbin
directory:and, if you use it to install packages, they will end up in the right place and everything will be happy.
The
-d
argument toeasy_install
tells it where to install the module(s).sudo env ARCHFLAGS="-arch x86_64" easy_install-2.7 lxml
worked on Mac OS 10.9. Make sure to qualify the version of python you are using in theeasy_install
command.