我有一个目录 A/
,其中包含通过运行 pipenv install
获得的 Pipfile 和 Pipfile.lock。所以这个目录下有一个对应的虚拟环境,位于 /home/username/.local/share/virtualenvs/A-...
。
然后我删除了这个 A/
目录。 有没有一种方法可以检查所有的pipenv虚拟环境,找到已删除的目录并删除相应的虚拟环境?
在这种情况下,它应该找到已删除的 A/
,并因此删除虚拟环境:/home/username/.local/share/virtualenvs/A-...
。
pipenv
运行的目录的完整路径,这个名称只是根目录加上完整路径的哈希值(请参见https://pipenv-fork.readthedocs.io/en/latest/install.html#virtualenv-mapping-caveat)。遍历~/.local/share/virtualenvs中的所有文件夹很容易,但没有映射到创建该虚拟环境的完整路径。 - Gino Mempinrequirements.txt
、Pipfile
、_poetry_或其他类似的解决方案仔细跟踪属于虚拟环境的项目,那么从头开始重新创建虚拟环境是很便宜的。通常只需要一个命令就可以完成。因此,我倾向于认为一次性删除所有虚拟环境是相对安全的(即使有些可能仍然“存活”),并在需要时重新创建它们。 - sinoroc