Linux Install: Difference between revisions
Cowsandmilk (talk | contribs) |
No edit summary |
||
Line 1: | Line 1: | ||
This page describes how to install open-source PyMOL on Linux. | This page describes how to install open-source PyMOL on Linux. | ||
== Install | == Install distribution specific binary package == | ||
Many Linux distributions provide binary packages for open-source PyMOL. They often do not provide the latest version, but if the provided package fits your needs this is the most convenient way to install PyMOL. | Many Linux distributions provide binary packages for open-source PyMOL. They often do not provide the latest version, but if the provided package fits your needs this is the most convenient way to install PyMOL. | ||
Line 12: | Line 12: | ||
# Fedora | # Fedora | ||
yum install pymol | su -c 'yum install pymol' | ||
# Gentoo | # Gentoo | ||
emerge -av pymol | su -c 'emerge -av pymol' | ||
# openSUSE (12.1 and later) | # openSUSE (12.1 and later) | ||
Line 21: | Line 21: | ||
</source> | </source> | ||
== Install from | == Install from source == | ||
Installation from source gives you the latest version and is the generic way to install PyMOL. | Installation from source gives you the latest version and is the generic way to install PyMOL. | ||
Line 45: | Line 45: | ||
# Fedora | # Fedora | ||
yum install subversion python-devel freeglut-devel freetype-devel tkinter python-pmw | su -c 'yum install subversion python-devel freeglut-devel freetype-devel tkinter python-pmw' | ||
# Gentoo | # Gentoo | ||
emerge -av dev-vcs/subversion dev-lang/python dev-python/pmw media-libs/glew \ | sudo -c 'emerge -av dev-vcs/subversion dev-lang/python dev-python/pmw media-libs/glew \ | ||
media-libs/freeglut media-libs/libpng media-libs/freetype | media-libs/freeglut media-libs/libpng media-libs/freetype' | ||
# openSUSE | # openSUSE | ||
Line 55: | Line 55: | ||
</source> | </source> | ||
=== Get latest | === Get latest source from SVN === | ||
This will download the latest source to '''/tmp/pymol''': | This will download the latest source to '''/tmp/pymol''': | ||
Line 92: | Line 92: | ||
</source> | </source> | ||
== Problems == | === Problems === | ||
* gcc-4.5 is broken for pymol install, use gcc-4.4 (Mint11 Linux, PyMOL 1.4.1, reported by [[User:Tlinnet]]) | * gcc-4.5 is broken for pymol install, use gcc-4.4 (Mint11 Linux, PyMOL 1.4.1, reported by [[User:Tlinnet]]) | ||
Line 101: | Line 101: | ||
* If you get an error message "ImportError: No module named Pmw" and lack half of the user interface, then run the additional command | * If you get an error message "ImportError: No module named Pmw" and lack half of the user interface, then run the additional command | ||
<source lang="bash"> | |||
python setup2.py install pmw | python setup2.py install pmw | ||
</source> | </source> | ||
to install a copy of the Python MegaWidgets. | |||
== Ubuntu/Mint compile and install with MPEG support == | |||
== Ubuntu/Mint | |||
Make a text file "installpymol.sh" and make it executable | Make a text file "installpymol.sh" and make it executable | ||
<source lang="bash"> | <source lang="bash"> |
Revision as of 07:40, 3 December 2011
This page describes how to install open-source PyMOL on Linux.
Install distribution specific binary package
Many Linux distributions provide binary packages for open-source PyMOL. They often do not provide the latest version, but if the provided package fits your needs this is the most convenient way to install PyMOL.
Command line install examples for some popular distributions:
# Debian/Ubuntu
sudo apt-get install pymol
# Fedora
su -c 'yum install pymol'
# Gentoo
su -c 'emerge -av pymol'
# openSUSE (12.1 and later)
sudo zypper install pymol
Install from source
Installation from source gives you the latest version and is the generic way to install PyMOL.
Requirements
Libraries as well as development files (headers) of the following software is required:
- Subversion to download the source code
- Python (with distutils)
- Pmw (Python Megawidgets)
- OpenGL driver (I use NVidia)
- libpng
- freetype
On many Linux systems, one of the following commands installs all requirements:
# Debian/Ubuntu/Mint11
sudo apt-get install subversion build-essential python-dev python-pmw \
libglew-dev freeglut3-dev libpng-dev libfreetype6-dev
# Fedora
su -c 'yum install subversion python-devel freeglut-devel freetype-devel tkinter python-pmw'
# Gentoo
sudo -c 'emerge -av dev-vcs/subversion dev-lang/python dev-python/pmw media-libs/glew \
media-libs/freeglut media-libs/libpng media-libs/freetype'
# openSUSE
sudo zypper install python-devel freeglut-devel gcc-c++ glew-devel libpng-devel python-pmw subversion
Get latest source from SVN
This will download the latest source to /tmp/pymol:
cd /tmp
svn co https://pymol.svn.sourceforge.net/svnroot/pymol/trunk/pymol pymol
cd pymol
Compile and install
This will install PyMOL as normal user into /opt/pymol-svn. If you don't have write permissions to /opt, change the prefix
variable to something like $HOME/pymol-svn.
#!/bin/bash -e
prefix=/opt/pymol-svn
modules=$prefix/modules
python setup.py build install \
--home=$prefix \
--install-purelib=$modules \
--install-platlib=$modules
export PYTHONPATH=$modules:$PYTHONPATH
python setup2.py install
install pymol $prefix/
Now launch PyMOL like this (you may copy this launcher into your $PATH, like to /usr/local/bin):
/opt/pymol-svn/pymol
Problems
- gcc-4.5 is broken for pymol install, use gcc-4.4 (Mint11 Linux, PyMOL 1.4.1, reported by User:Tlinnet)
sudo apt-get install build-essential gcc-4.4 g++-4.4
export CC=/usr/bin/gcc-4.4
- If you get an error message "ImportError: No module named Pmw" and lack half of the user interface, then run the additional command
python setup2.py install pmw
to install a copy of the Python MegaWidgets.
Ubuntu/Mint compile and install with MPEG support
Make a text file "installpymol.sh" and make it executable
chmod u+x installpymol.sh
Put this in the file, modify the first 3 lines
#!/bin/bash -e
pymolsvn=/home/tlinnet/Software/pymol/svnpymol
pymoldir=/home/tlinnet/Software/pymol
freemolsvn=/home/tlinnet/Software/pymol/svnfreemol
###################################################
[ -d $pymoldir ] || mkdir $pymoldir
[ -d $pymolsvn ] || mkdir $pymolsvn
[ -d $pymoldir/wikiscripts ] || mkdir $pymoldir/wikiscripts
sudo apt-get install subversion build-essential python-dev python-pmw \
libglew-dev freeglut3-dev libpng-dev libfreetype6-dev
# gcc 4.5 broken for install in ubuntu
sudo apt-get install gcc-4.4 g++-4.4
export CC=/usr/bin/gcc-4.4
svn co https://pymol.svn.sourceforge.net/svnroot/pymol/trunk/pymol $pymolsvn
modules=$pymoldir/modules
cd $pymolsvn
python setup.py build
sudo python setup.py install
sudo python setup.py install --home=$pymoldir --install-purelib=$modules --install-platlib=$modules
export PYTHONPATH=$modules:$PYTHONPATH
sudo python setup2.py install
install $pymolsvn/pymol $pymoldir/
## To add a path/folder where you can put pymol wikiscripts
t="'"
echo "import sys" >> ~/.pymolrc
echo "sys.path.append($t$pymoldir/wikiscripts$t)" >> ~/.pymolrc
########## Setup freemol - for MPEG support ############
[ -d $pymolsvn ] || mkdir $freemolsvn
svn co svn://bioinformatics.org/svnroot/freemol/trunk $freemolsvn
cd $freemolsvn/src/mpeg_encode
export FREEMOL=$freemolsvn/freemol
./configure
make
make install
## Make a shortcut to export freemol and then execute pymol
echo '#!/bin/bash' >> $pymoldir/pymolMPEG.sh
echo "export FREEMOL=$freemolsvn/freemol" >> $pymoldir/pymolMPEG.sh
echo "#$pymoldir/pymol" >> $pymoldir/pymolMPEG.sh
tail -n +2 $pymoldir/pymol >> $pymoldir/pymolMPEG.sh
chmod u+x $pymoldir/pymolMPEG.sh
## Make a link, so we can call execute pymol
sudo ln -s $pymoldir/pymolMPEG.sh /usr/bin/pymol
Update script
To pull and update PyMOL, one can make this script
Make a text file "updatepymol.sh" and make it executable
chmod u+x updatepymol.sh
Put this in the file, modify the first 3 lines
#!/bin/bash -e
pymolsvn=/home/tlinnet/Software/pymol/svnpymol
pymoldir=/home/tlinnet/Software/pymol
freemolsvn=/home/tlinnet/Software/pymol/svnfreemol
# gcc 4.5 broken for install in ubuntu
export CC=/usr/bin/gcc-4.4
svn up $pymolsvn
svn up $freemolsvn
modules=$pymoldir/modules
cd $pymolsvn
python setup.py build
sudo python setup.py install
sudo python setup.py install --home=$pymoldir --install-purelib=$modules --install-platlib=$modules
export PYTHONPATH=$modules:$PYTHONPATH
sudo python setup2.py install
install $pymolsvn/pymol $pymoldir/
########## Setup freemol - for MPEG support ############
cd $freemolsvn/src/mpeg_encode
export FREEMOL=$freemolsvn/freemol
./configure
make
make install
Change MPEG settings
Change settings in
/home/tlinnet/Software/pymol/svnfreemol/freemol/libpy/freemol/mpeg_encode.py
For example, change in line 205:
FRAME_RATE 24
(Not, only legal values is allowed: 23.976, 24, 25, 29.97, 30, 50 ,59.94, 60)
Then restart PyMOL.