如何将新的默认包添加到 virtualenv?

idb*_*rii 9 python virtualenv ipython

当我创建一个 virtualenv 时,它会安装 setuptools 和 pip。是否可以将新软件包添加到此列表中?

示例用例:

  • 遵循这个在 virtualenv 中使用 ipython 的解决方案(来自这个问题)需要在每个 virtualenv 中安装 ipython (除非我允许系统站点包)。
  • 或者,如果我只做flask/pygame/framework 开发,我希望它在每个virtualenv 中。

Ran*_*Guy 3

我采取了与选择的正确答案不同的方法。

我选择了目录,~/.virtualenv/deps并通过执行以下操作在其中安装了软件包

pip install -U --target ~/.virtualenv/deps ...
Run Code Online (Sandbox Code Playgroud)

接下来~/.virtualenv/postmkvirtualenv我输入以下内容:

# find directory
SITEDIR=$(virtualenvwrapper_get_site_packages_dir)
PYVER=$(virtualenvwrapper_get_python_version)

# create new .pth file with our path depending of python version
if [[ $PYVER == 3* ]];
then
    echo "$HOME/.virtualenvs/deps3/" > "$SITEDIR/extra.pth";
else
    echo "$HOME/.virtualenvs/deps/" > "$SITEDIR/extra.pth";
fi
Run Code Online (Sandbox Code Playgroud)

帖子基本上说的是同样的事情