【问题标题】:List all Pipenv environments列出所有 Pipenv 环境
【发布时间】:2019-01-25 00:32:18
【问题描述】:

如何列出所有 Pipenv 环境,如 virtualenv 的 lsvirtualenv 命令?文档没有说明如何。非常感谢大家提供的帮助。干杯!

【问题讨论】:

  • lsvirtualenv 附带virtualenvwrapper,这是一个用于管理多个虚拟环境的实用程序。它没有列出不是通过这个包装器管理的 virtualenvs(它集中了 venvs 的创建位置)。虽然没有等同于virtualenvwrapper(例如PipenvwrapperPipenv 确实尊重WORKON_HOME,但也应该在同一目录中提供venvs,所以lsvirtualenv 也会列出那些venvs。跨度>

标签: python virtualenv pipenv


【解决方案1】:

为什么不简单地寻找现有的虚拟环境? 要检查它们的存储位置,您可以激活一个虚拟环境并获取其路径:

$pipenv shell
$pipenv --venv
 > /path/to/existing_venvs/current_venv
ls /path/to/existing_venvs/
 > cython-pr4GGvfQ/  openCV-f4drK-E5/

我不知道 pipenv 是否可以在其他地方存储 venv,但至少对我来说这足以知道我有多少和哪些 venv。

【讨论】:

    【解决方案2】:

    作为 AChampion said,pipenv 没有 lsvirtualenv 或类似功能。

    pipenv 的创建者 Kenneth Reitz 告诉 here,不打算实现任何此类功能,人们应该依赖其他工具,例如 pew

    我已经尝试过 pew 和 pipes,它们都是很好的工具,但不是我正在寻找工作流程的确切工具,所以为了我个人的使用,我使用 virtualenvwrapper 的基本代码构建了 pipenvwrapper

    pipenvwrapper 支持的一些功能有:workon、lsvirtualenv、cdproject、cdvirtualenv、cdsitepackages、mkproject 和 rmvirtualenv。

    检查这 3 个工具中的任何一个是否符合您的需求。

    【讨论】:

      【解决方案3】:

      在我的例子中,由于我不知道使用任何 pipenv 选项列出所有虚拟环境的方法,所以我要做的是列出所有虚拟环境所在的文件夹。

      默认情况下,在 Ubuntu 中,pipenv$HOME/.local/share/virtualenvs/ 中创建一个带有虚拟环境名称的文件夹,然后列出该文件夹我有一个我所有环境的列表。

      为了让生活更轻松,我创建了一个别名来执行此操作。

      【讨论】:

        【解决方案4】:

        您可以将以下别名添加到.bash_aliases

        alias pipenv-list='for venv in ~/.local/share/virtualenvs/* ; do basename $venv; cat $venv/.project | sed "s/\(.*\)/\t\1\n/" ; done'
        

        这将列出所有虚拟环境和相应的项目(源)文件夹,如:

        $ pipenv-list
        <PIPENV>
            <PROJECT_HOME_DIR>
        [...]
        

        【讨论】:

          猜你喜欢
          • 2011-11-04
          • 2019-01-04
          • 2018-10-01
          • 2019-07-20
          • 2021-07-14
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          • 1970-01-01
          相关资源
          最近更新 更多