Есть куча способов установки питоновских пакетов. Какие-то более удобны, какие-то менее, в зависимости от ситуации. Опишу способ, который мне оказался удобен в большинстве случаев.
Для его использования не нужно ничего, кроме собственно virtualenv и pip. Для каждого проекта я использую отдельную среду со своим набором пакетов - мне так удобнее управлять зависимостями.
Для создания окружений я использую небольшую функцию в ~/.profile:
mkenv() {
VENV_PATH="$HOME/.python-envs`pwd`"
virtualenv --no-site-packages -p `which python` $VENV_PATH
echo "VIRTUALENV_PATH=$VENV_PATH" > .venv
source $VENV_PATH/bin/activate
}
Окружения создаются в скрытой папке ~/.python-envs/<путь_к_папке_с_проектом>, а путь к окружению пишется в папку проекта в скрытый файл .venv. В принципе, путь можно и вычислять, но я уже пару раз менял место для новых окружений, а так нет необходимости переносить старые.