3

I'm trying to install python3.3.5 on /home/myUser/XX, where home is located on a separate partition. I'm relatively new to Linux and have only basic knowledge about installing packages on my own, without the synaptic package Manager.

Here is what I did: I followed the instructions from Sergey in this thread. I also used the similar explanation from James Nichsolson at this webpage

Everything worked fine so far except this part:

Some nice touches to install a py command by creating a symlink:

mkdir ~/bin
ln -s /opt/python3.3/bin/python3.3 ~/bin/py

As I understand it, this is to make python3.3 execuable via the terminal at any place? So if I write python3.3 it opens.

my paths are bit different from the ones in Sergeys description: path of python installation:

/home/metin/python/python3.3.5

my ./configure command was therefore:

./configure --prefix=/home/metin/python/python3.3.5

my command to create the link was:

 ln -s /home/metin/python/python3.3.5/bin/python3.3

Problem:

after I do this and when I type python3 in my terminal it says this programm is not installed, so something went wrong with creating the link?

Further Question:

Where is the difference between creating such a link and adding entries to $PATH? As I understand it Ubuntu can access all programs stored in $PATH, right? Why should'nt I just ad .../python3.3.5 to $PATH? So when do I use ln(links) and when do I add stuff to $PATH.

If I want to add dirs to $PATH how do I do that easy? I found some explanations on the internet but I'm confused. There is the file .bashrc in my /home dir. Is that the one were I add such dirs? Because there is also /etc/bash.bashrc and I remember adding

PATH=/home/metin/texlive/2012/bin/x86_64-linux:$PATH; export PATH
MANPATH=/home/metin/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH
INFOPATH=/home/metin/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH

when I installed texlive

since this questions are related I found it logic to put it all in one thread. Please let me know if I should rather make more than one post.

2
  • Let's start from the beginning first: Why do you want to install python3 manually when you have sudo apt-get install python3?
    – jobin
    Mar 13, 2014 at 12:33
  • The synaptics tells me that the newest version available for autom. install is 3.2.x. I want to have 3.3.5 so I thought the only way will be to do it manualy (maybe 12.04 LTS not released 3.3.5 yet?) -> Furthermore I need to learn Linux/handling Linux, so anything is a good exercise :-)
    – suburbian
    Mar 13, 2014 at 12:49

1 Answer 1

2

Try this:

sudo ln -s /home/metin/python/python3.3.5/bin/python3.3 /usr/bin/python3.3.5

Not sure if your home path is correct, so if the command above fails you must symlink the binary located in your home folder to /usr/bin.

8
  • to get started with python I now installed 3.2 via synaptics (package python3) will this interfere with my own installed python 3.3.5 (because in the 3.3.5/bin dir the execs name is also python3)
    – suburbian
    Mar 13, 2014 at 12:54
  • Probably no, there are many versions that can be installed at once in your system. But you can test it typing python -V in console and see the version
    – muniz95
    Mar 13, 2014 at 13:02
  • optimal case would be: I type python3.3.5 in terminal (anywhere) and it fires up python3.3.5 which I installed myself. Because right now it would fire up the synaptics python3 (python3.2) when I type python3. When I type python -V it gives me the 2.7 Version
    – suburbian
    Mar 13, 2014 at 13:04
  • I forgot you are using python3, sorry. But if you symlinked your home python as python3.3.5 there is no problem, python3 installed via synaptic will work properly
    – muniz95
    Mar 13, 2014 at 13:11
  • ok it works, the original idea to do this at /home (diff partition), that I could install ubuntu new and keep everything on my /home partition. If I do this now, the links will be dead after reinstall right?
    – suburbian
    Mar 13, 2014 at 13:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .