首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pyenv中创建post virtualenv挂钩以升级pip包?

如何在pyenv中创建post virtualenv挂钩以升级pip包?
EN

Stack Overflow用户
提问于 2019-01-13 20:47:00
回答 1查看 348关注 0票数 3

我使用pyenv在我的机器上管理不同的Python版本,使用pyenv-virtualenv来管理我的venv。当我用pyenv virtualenv foo之类的东西创建一个新的venv时,它没有将最新版本的pipsetuptoolswheel安装到venv中。我想在创建完每个venv之后在里面运行pip install --upgrade pip setuptools wheel

pyenv有命令前和命令后挂钩的概念。我可以通过添加以下文件来运行此命令

~/.pyenv/plugins/pyenv-virtualenv/etc/pyenv.d/virtualenv/after.bash

包含以下内容

代码语言:javascript
复制
after_virtualenv 'pip install --upgrade pip setuptools wheel'

该命令是运行的,但它不是在venv内部运行的,因此它只使用当前的pip。如何在after_virtualenv钩子中的venv中调用此命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-11 17:35:03

好的,我已经弄明白了,你可以指定刚才创建的虚拟环境名称作为PYENV_VERSION,然后调用pyenv-exec

代码语言:javascript
复制
upgrade_packages() {
  PYENV_VERSION=$VIRTUALENV_NAME pyenv-exec pip install --upgrade pip setuptools wheel
}

after_virtualenv 'upgrade_packages'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54169017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档