为什么virtualenv创建到我的主要python解释器的符号链接?

时间:2019-02-18 20:11:35

标签: virtualenv ubuntu-18.04

当我使用virtualenv将目录转换为虚拟环境时,将创建三个目录:bin,include和lib。

bin是我了解的唯一目录,(据我所知)它包含独立的解释器以及我要与全局环境隔离的所有依赖项。

include和lib都充满符号链接,在lib文件夹中有一些非链接文件。为什么出现这些符号链接?他们的目的是什么?它们如何为我的虚拟环境提供服务? 我已经检查了文档,如果有答案,我就错过了。 有人可以启发我(或向我指出正确的文档)吗?

我正在运行Ubuntu Server 18.04构建。 创建环境时,我不会添加任何-或-args,看起来像这样:

    $ virtualenv .

/application
  app.py
  /decorators
    queryAccessory.py
  /auth
    __init__.py
    dao.py
    /controllers
      login.py
      register.py
    /models
      user.py
      get_user_response.py
  /tests
    __init__.py
    dao.py
    /controllers
      get_tests.py
    /models
      test.py
      get_tests_response.py

1 个答案:

答案 0 :(得分:0)

这些链接将标准库带入virtualenv。它们是必需的,因为virtualenv中的python无法访问全局lib/pythonX.Y目录。另一种选择是将库复制到virtualenv中,但这会占用更多空间,并且不会做任何更好的事情。