Search code examples
pythonlinuxsetuptoolseasy-install

Install "Easy Install" using virtual python and setuptool


I'm trying to install virtual-python on linux server which I don't have root access. I have read PEAK development manual for custom installation however I still can't figure out what I'm doing wrong.

Here are my configurations:

created .pythdisutils.cfg

 [install]
 install_lib  = /home2/me/lib
 install_scripts = /home2/me/bin

Python env path in .bashrc:

 export  PYTHONPATH="${PYTHONPATH}:~/lib/"

virtual python installed in:

 ~/lib/python2.4/site-packages
 ~/bin/python

I tried these codes but not successful:

 sh setuptools-0.6c11-py2.4.egg
 sh setuptools-0.6c11-py2.4.egg --prefix=~
 ...

error I get:

 TEST FAILED: /home2/me/lib/ does NOT support .pth files
 error: bad install directory or PYTHONPATH

 You are attempting to install a package to a directory that is not
 on PYTHONPATH and which Python does not read ".pth" files from.  The
 installation directory you specified (via --install-dir, --prefix, or
 the distutils default setting) was:

/home2/me/lib/

and your PYTHONPATH environment variable currently contains:

':~/lib/python2.4/site-packages/:~/lib/python2.4/site-packages/'

Here are some of your options for correcting the problem:

* You can choose a different installation directory, i.e., one that is
on PYTHONPATH or supports .pth files

* You can add the installation directory to the PYTHONPATH environment
variable.  (It must then also be on PYTHONPATH whenever you run
Python and want to use the package(s) you are installing.)

* You can set up the installation directory to support ".pth" files by
using one of the approaches described here:

http://peak.telecommunity.com/EasyInstall.html#custom-installation-locations

Please make the appropriate changes for your system and try again.

Solution

  • Your PYTHONPATH doesn't seem to be setup correctly. Try "exec bash", and verify the output of

    echo $PYTHONPATH
    

    to contain the expected values. Replace ~ with $HOME.

    Oh, and are you actually using bash as shell? Unless you restart your shell and you are using bash, modifying .bashrc of course will not change anything.