Pip创建构建/目录

Mir*_*lov 10 python pip virtualenv

我使用virtualenv为我的Python项目创建隔离的环境.然后我用pip安装依赖 - Python包管理器.有时我忘了做source venv/bin/activate,然后pip build/在我的项目中创建目录.为什么pip会创建它们?我可以删除它们,如果没有,我可以把它们放在我的.hgignore文件中吗?

据我所知,pip存储了一个名为的下载包的源代码pip-delete-this-directory.txt.但是当我删除它时,一切都仍然有效,因为真正的代码被放入venv/lib/python2.7/site-packages/.那build/真的是什么?

okm*_*okm 27

build目录是将包解压缩并构建的目录.成功安装软件包后,pip将删除已解压缩的目录build,除非您已将其删除pip-delete-this-directory.txt.如下所述pip-delete-this-directory.txt:

This file is placed here by pip to indicate the source was put
here by pip.

Once this package is successfully installed this source code will be
deleted (unless you remove this file).
Run Code Online (Sandbox Code Playgroud)

因此,它对运行时环境不太重要.你可以安全地忽略它.

此外,您可以使用例如pip install -b customized_build_directory将另一个目录指定为build基目录/tmp

此外,pip install --no-download package_name如果先前安装的软件包失败,您可以重建软件包而不下载软件包.

  • “一旦成功安装此软件包,此源代码将被删除”...但事实并非如此。真的应该自动删除吗?为什么不适合我?我使用 pip 安装了 `-e git+ssh://etc...`,没有其他特殊选项。 (6认同)
  • 当然,把它指向/ tmp很好.我只是评论说,尽管pip声称,它通常不会在成功安装后删除构建目录. (4认同)
  • 那么为什么我可能有一个构建目录,即使我没有删除 pip-delete-this-directory.txt 呢?我可以取消设置这个选项吗? (3认同)
  • 感谢`--no-download`,正是我需要的. (2认同)