Skip to content

Instantly share code, notes, and snippets.

@stanwmusic
Forked from alejo8591/ubuntu_py3.md
Last active November 30, 2019 09:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stanwmusic/e848a35346352351f9f866f99bce9090 to your computer and use it in GitHub Desktop.
Save stanwmusic/e848a35346352351f9f866f99bce9090 to your computer and use it in GitHub Desktop.
Ubuntu 14.04 Python 3.4.2 Setup using pyenv and pyvenv

What I did to get Python 3.4.2 on Ubuntu 14.04. The stock version of Python 3 on Ubuntu is 3.4.0. Which is missing some of the best parts! (asyncio, etc). Luckily I discovered pyenv which solved my problem.

Install pyenv

Pyenv (not to be confused with pyvenv) is the Python equivelant of rbenv. It lets you configure which Python environment/version is available per directory, user, or other session variables.

I followed the instructions here to install pyenv in my home directory. Verbatim, those instructions are:

sudo apt-get install git python-pip make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev
sudo pip install virtualenvwrapper

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
git clone https://github.com/yyuu/pyenv-virtualenvwrapper.git ~/.pyenv/plugins/pyenv-virtualenvwrapper

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'pyenv virtualenvwrapper' >> ~/.bashrc

Install Python 3.4.2

Restart your shell to pickup pyenv. Then tell pyenv to download, build, and instatll 3.4.2:

pyenv install 3.4.2

Point a project at 3.4.2

Place a hidden file .python-version in your project. In this file simply place the text:

3.4.2

In this directory, type python to enter the shell and note the version. It should be 3.4.2.

PyVenv

You should also now be able to use pyvenv to bootstrap a virtual environment in this directory. It will bootstrap a virtualenv with python 3.4.2 as the python version. You can do everything you'd normally do in a virtualenv, like install dependencies, etc:

pyvenv venv
source venv/bin/activate
pip install requests
pip freeze > requirements.txt

Syntastic

I use pyflakes with Syntastic for finding syntax bugs in VIM. I had to be sure to install pyflakes to python 3.4.2 by going into a directory where 3.4.2 was being used and doing

pip install pyflakes
@stanwmusic
Copy link
Author

Edited to correct spelling. I changed "Verbatem" to "Verbatim" after I noticed it was misspelled,or misspelt if you prefer British English.

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