当我创建一个 virtualenv 时,它会安装 setuptools 和 pip。是否可以将新包添加到此列表中?
示例用例:
当我创建一个 virtualenv 时,它会安装 setuptools 和 pip。是否可以将新包添加到此列表中?
示例用例:
你可以编写一个 python 脚本,比如personalize_venv.py
扩展EnvBuilder
类并覆盖它的post_setup()
方法来安装你需要的任何默认包。
您可以从https://docs.python.org/3/library/venv.html#an-example-of-extending-envbuilder获取基本示例。
这不需要钩子。dirs
使用指向您的 venv 目录的命令行参数直接运行脚本。钩子是类的post_setup()
方法本身EnvBuilder
。
我采取了与选择正确答案不同的方法。
我选择了我的目录,喜欢~/.virtualenv/deps
并在其中安装了软件包
pip install -U --target ~/.virtualenv/deps ...
接下来~/.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