在虚拟环境内外放置Pip和Yolk?

1 投票
1 回答
630 浏览
提问于 2025-04-17 00:00

我正在使用 virtualenv 来创建一个独立的Python环境,使用 pip 来安装和卸载软件包,使用 yolk 来列出这些软件包。

我可以通过 pip install <包名> -e=<环境名> 来安装软件包到我的虚拟环境里。我想我不需要在我的虚拟环境中再安装 pip,对吗?

如果我想列出我虚拟环境中所有已安装的软件包,我可以用 yolk -l 来实现吗?我知道我可以在环境里安装 yolk 来做到这一点,但我想知道如果 yolk 在全局Python安装中,也能做到吗?

谢谢。

1 个回答

2

这是你的工作流程:

  1. 把virtualenv和pip添加到你的全局环境中。
  2. 创建虚拟环境(virtualenv)。
  3. 在虚拟环境中添加新的软件包。

我建议你了解一下virtualenvwrapper。它能让管理虚拟环境变得简单很多。

  1. 在你的全局环境中下载并安装virtualenvwrapper。
  2. 创建一个目录~/.virtualenvs。
  3. 用以下内容修改你的~/.bashrc文件:

    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages --python=python2.6'
    source /usr/local/bin/virtualenvwrapper.sh

这样你就可以轻松创建、删除、修改和切换虚拟环境了。

关于你的问题:

  1. 我应该把pip放在我的虚拟环境里吗?

    不,别这么做。

  2. 我应该用yolk来列出软件包吗?

    我对yolk不太熟悉。我只用pip freeze,然后就能得到一个列出所有软件包的要求文件,这样可以重建我的环境。

撰写回答