Virtualenv 无法在 Ubuntu 上正确隔离 pip 安装

Virtualenv 无法在 Ubuntu 上正确隔离 pip 安装

我在 Ubuntu 12 上使用 virtualenv,当我使用 pip 安装软件包(激活 virtualenv 后)时,软件包不会安装在环境的 site-packages 目录中,而是最终安装在服务器的 dist-packages 目录中。设置 venv 时,我添加了--no-site-packages

我认为这是 Ubuntu 使用 dist-packages 而不是 site-packages 的问题,但我如何才能让虚拟环境正常运行呢?

答案1

尝试以下方法来创建你的虚拟环境:

#! /bin/bash
#
# Create a Python virtualenv using current code (not the distribution's outdated one)
#
PYTHON=/usr/bin/python2
test -x $PYTHON || PYTHON=/usr/bin/python

# You can provide an alternative Python executable as the first argument, this
# can for example be an interpreter installed into ~/.pythonbrew
if test -x "$1"; then
    PYTHON="$1"
    shift
fi

# Be nice to github (get current source only once per day)
venv_cached=/tmp/$USER-virtualenv-$(date +'%Y-%m-%d').py
venv='https://github.com/pypa/virtualenv/raw/master/virtualenv.py'
test -f $venv_cached || \
    $PYTHON -c "import urllib2; open('$venv_cached','w').write(urllib2.urlopen('$venv').read())"

# Call virtualenv
deactivate 2>/dev/null || true
$PYTHON $venv_cached "$@"

相关内容