【问题标题】:pip virtualenv reset the path after reactivatingpip virtualenv 重新激活后重置路径
【发布时间】:2019-04-18 06:19:22
【问题描述】:

我已经安装了 pip3 virtualenv 并通过激活 virtualenv 安装了几个软件包。当时which python这个命令给出了virtualenv的路径。假设..../env/bin/python

但在停用并再次获取路径后(重新激活which python 使用全局路径/usr/bin/python,它不允许使用我安装到 virtualenv 的包。有没有想过?

【问题讨论】:

  • 这就是它应该如何工作的。我认为您不了解 pip 和隔离环境的工作原理。
  • 是的,DroidX86 是对的,你期待什么?您只能在激活时使用虚拟环境的包。
  • 我了解它们的工作原理。全局PATH 变量在激活后会发生变化。但它仍然使用/usr/bin下的全局python路径。也许你不明白这个问题。再读一遍

标签: python path pip virtualenv


【解决方案1】:

通常不会发生。重新激活后应该从 virtualenv python 中选择。

我的两分钱。

  1. Virtualenv 在 PATH 变量的末尾添加 python。所以 usr/bin/python 将在前面找到并运行。
  2. 如果您的 .bash_profile 出现问题,也会发生这种情况。它也可能 如果在 python3 中创建了虚拟环境,默认情况下它将具有 python2.7

所以你需要检查路径和环境全局与虚拟环境之一。

【讨论】:

    【解决方案2】:

    这是一个愚蠢的错误。 virtualenv 在目录..../env/bin 中维护一个名为activate 的脚本 并且该文件使用export PATH 的绝对路径并猜测可能会出现什么问题。

    假设PATH 的绝对值是/home/user/test/env/bin

    如果您将目录 test 重命名为 test2。激活文件仍然使用旧的绝对路径。所以你必须手动更改.../env/bin/activate下的PATH并将VIRTUAL_ENV变量更改为你的新绝对路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 2021-07-20
      • 2011-08-26
      • 2013-05-03
      • 1970-01-01
      相关资源
      最近更新 更多