Skip to content

Instantly share code, notes, and snippets.

@iDevPy
Forked from floer32/centos_python_env_setup
Last active May 26, 2025 23:19
Show Gist options
  • Select an option

  • Save iDevPy/7f66a2b9522bec7aa4e4 to your computer and use it in GitHub Desktop.

Select an option

Save iDevPy/7f66a2b9522bec7aa4e4 to your computer and use it in GitHub Desktop.
CentOS 7: Install Python 3.5.1, pip, virtualenv, and virtualenvwrapper on CentOS. Run this script as "root (sudo su -)" without sudo.
#!/bin/bash
# Source: http://toomuchdata.com/2012/06/25/how-to-install-python-2-7-3-on-centos-6-2/
# Install stuff #
#################
# Install development tools and some misc. necessary packages
yum -y groupinstall "Development tools"
yum -y install zlib-devel
yum -y install bzip2-devel openssl-devel ncurses-devel
# Alias shasum to == sha1sum (will prevent some people's scripts from breaking)
echo 'alias shasum="sha1sum"' >> $HOME/.bashrc
# Install Python 2.7.4 (do NOT remove 2.6, by the way)
wget http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tar.bz2
tar xf Python-2.7.4.tar.bz2
cd Python-2.7.4
./configure --prefix=/usr/local
make && make altinstall
set -o vi
# Install distribute
wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.27.tar.gz
tar xf distribute-0.6.27.tar.gz
cd distribute-0.6.27
python2.7 setup.py install
# Add EPEL repo (more details at cyberciti.biz/faq/fedora-sl-centos-redhat6-enable-epel-repo/)
cd /tmp
wget http://mirror-fpt-telecom.fpt.net/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
# Install pip; note that the package is named 'python-pip' whereas the executable will be named 'pip-python', for some reason
yum -y install python-pip
echo 'alias pip="/usr/bin/pip-python"' >> $HOME/.bashrc
. $HOME/.bashrc
# Install virtualenv and virtualenvwrapper
sudo pip-python install virtualenv virtualenvwrapper
echo 'export WORKON_HOME=~/Envs' >> .bashrc # Change this directory if you don't like it
. $HOME/.bashrc
mkdir -p $WORKON_HOME
echo '. /usr/bin/virtualenvwrapper.sh' >> .bashrc # installs to not-quite-standard location for some reason.
. $HOME/.bashrc
# Done!
# Now you can do: `mkvirtualenv foo --python=python2.7`
# Extra stuff #
###############
# These items are not required, but I recommend them
# Add RPMForge repo
sudo yum -y install http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
yum updateinfo
# Install trash-cli (safer than 'rm', see here: https://github.com/andreafrancia/trash-cli)
sudo yum -y install python-unipath
sudo yum install http://pkgs.repoforge.org/trash-cli/trash-cli-0.11.2-1.el6.rf.i686.rpm
@iDevPy
Copy link
Author

iDevPy commented Dec 18, 2015

When run as sudo, this happens.

./python: line 48: easy_install-3.5: command not found
./python: line 49: easy_install-3.5: command not found

If you run those lines when the script finishes, you got successful results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment