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.

suburbian
  • 33
  • 1
  • 4
  • 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 '14 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 '14 at 12:49

1 Answers1

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.

muniz95
  • 134
  • 4
  • 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 '14 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 '14 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 '14 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 '14 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 '14 at 13:18
  • Yes, after reinstall you must symlink all again. – muniz95 Mar 13 '14 at 13:24
  • aren’t then the entries in $PATH stored in my .bashrc at /home/ a more permanent way to store a directory to search for a program? This would last after a new installation of the / partition? – suburbian Mar 13 '14 at 14:20
  • You are right, if you change your path in .bashrc it will survive a reinstall, but: it will only work in bash from a terminal (not from other shells or the GUI) and it will only work for your user. – Javier Rivera Mar 14 '14 at 08:27