【问题标题】:(virtual env)(global env) why is this happening instead of just (virtual env) when I activate it?(virtual env)(global env) 为什么在我激活它时会发生这种情况,而不仅仅是 (virtual env)?
【发布时间】:2019-02-22 20:36:08
【问题描述】:

根据我的理解,如果我在虚拟环境中下载一个包,如果我回到它,它仍然会在那里,但是我的 django 包已经消失了。这是为什么呢?

【问题讨论】:

  • 嗯,是不是你忘记激活 virtualenv 了?
  • 不,我确实激活了它。

标签: python django virtualenv


【解决方案1】:

是的,您必须再次安装它,因为 virtualEnv 会隔离您之前的安装

【讨论】:

  • 我知道它是一个独立的系统,但是如果我在那个特定的环境中安装了 django,我不应该能够访问它吗?我认为虚拟环境与其他环境分开,但将其安装在该环境中。
  • 否,因为您可能希望使用不同版本的 Django 或包。所以你必须通过 PIP 安装再次安装 django
  • 我确实做到了,在 (virtual_env)(base) 中,但是当我在 (base) 上运行 pip freeze 时,django 出现了。我认为它应该只留在(virtual_evn)(base)中。没有?
  • Virtualenv 就像安装 python 新鲜,然后你必须从 virtualenv 中安装你希望可用的包。您可以通过一些谷歌搜索编写一个需求文件,这将节省一些时间
  • 我明白,但它不应该保留我下载的内容吗?每次回来都安装我已经安装的东西似乎不太方便......
【解决方案2】:

我无法添加评论,因为我没有足够的声誉,但您可以采取一些措施来调试此问题。

  1. 检查您是否激活了正确的 virtualenv(或 pipenv)。
  2. 激活后,在终端中运行 pip freeze 并检查 django 是否作为已安装的软件包之一出现。
  3. 如果 django 没有显示在那里,您将需要重新安装它。

【讨论】:

  • 感谢您的帮助。但是为什么我需要重新下载呢?我之前在同一个环境下下载过。
  • @HaneulKim 环境在运行吗?您从pip freeze 获得的输出中是否列出了 django?此外,如果它被列出,只需尝试在运行 virtualenv 的终端中运行 python。然后做一个import django 看看它会返回什么。
  • 是的,它正在运行。它没有列出,所以我再次下载,但它也在基础环境中下载。
  • 是的,就像您从另一个答案中收集到的一样,virtualenv 创建了一个孤立的环境。我不确定您所说的“基本环境”是什么意思。我假设您的意思是您已安装的全局 python?我建议不要在全球范围内安装 django,而只能在您为项目启动的 virtualenv 中安装。
  • 是的,全球环境。我只在虚拟环境中安装了 django,但它在两者中都安装了。
猜你喜欢
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
  • 2021-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多