Question

I am having real trouble installing SUDS in python 2.6.4. I have tried to install the setup file but it says the location of python cannot be found. This is because I have changed the location of python. I have tried to use easy_install but am having no luck. Does anyone know a simple way to do this or have a link to clear installation instructions.

Command that I entered was:

python setup.py install

The result I recieved was:

running install
error: cannot create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/usr/local/lib/python2.6/site-packages/test-easy-install-9203.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib/python2.6/site-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  http://peak.telecommunity.com/EasyInstall.html

And if I have to change the python path how exactly do you do this.

I have tried what one site said to do and it was to first, create an altinstall.pth file in Python's site-packages directory, containing the following line:

import os, site; site.addsitedir(os.path.expanduser('~/lib/python2.3'))

Then it says modify distutils.cfg in the distutils directory with:

[install]
install_lib = ~/lib/python2.3
# This next line is optional but often quite useful; it directs EasyInstall
# and the distutils to install scripts in the user's "bin" directory.  For
# Mac OS X framework Python builds, you should use /usr/local/bin instead,
# because neither ~/bin nor the default script installation location are on
# the system PATH.
#
install_scripts = ~/bin
Was it helpful?

Solution

Have you tried setting PYTHONPATH to the location of python? Maybe this way it will know, where to install it.

You are calling it with python setup.py install. Try sudo python setup.py install, if you are using some linux and you are sudoer.

OTHER TIPS

I got messages like this too when I installed suds and python-ntlm. Our site has a separate areafor installations so that we can maintain multiple versions, so my first installation step was

python setup.py install --prefix=/install/suds/suds-0.4

and I got the same messages about installplace. To fix:

Make sure the directories are there with

mkdir -p  /install/suds/suds-0.4/lib/python2.6/site-packages/

(This surprised me a little, I thought setup would build the directories.)

Make sure you have write permission down the tree with

chmod -R 775 /install/suds/suds-0.4/lib/python2.6/site-packages/

Neither of which got rid of the message!

The last step was to put the install area into PYTHONPATH, and then do the setup.py

export PYTHONPATH=/install/suds/suds-0.4/lib/python2.6/site-packages:$PYTHONPATH
python setup.py install --prefix=/opt/sw/fw/qce/suds/suds-0.4

with a final chmod to make the newly installed files readable in case umask is set to something restrictive:

 chmod 755 /install/suds/suds-0.4/lib/python2.6/site-packages/*

After this I could start python and import suds. The key step was the putting the suds site-packages directory into PYTHONPATH.

I expect this help comes too late to help the original poster, but I hope it helps someone else who come to SO with this question. As I did.

I would need more details of your OS to give a fully accurate response. From the sounds of your question, you changed your path of python. Normally you'll have a preinstalled version of python that is compatible with your OS. For example, CentOS 5.x comes with python 2.4, however you can do a yum install of python 2.6. Once installed, you can run python 2.6 by the python26 command.

When doing installs and packages, I would recommend that you try to use package managers as much as possible, as they help take care of your dependencies, such as yum. Yum also helps control updating packages instead of having to do updates manually. The next best thing is to do installs via pip or easy install, in the case of this question, you can try easy_install https://fedorahosted.org/releases/s/u/suds/python-suds-0.4.tar.gz (requires setuptools), and as a last resort, you can try to do the manual install. I if I get the point that I'm doing a manual install, I feel I failed somewhere :) Others have given good detail on on how to do the install manually.

Good luck.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top