【问题标题】:Where can you use packages installed in python virtual env?在哪里可以使用安装在 python 虚拟环境中的包?
【发布时间】:2020-10-01 18:04:59
【问题描述】:
我是一个巨大的初学者,所以我不太了解包的真正工作原理。我知道您应该在项目文件夹中创建一个 virtualenv 以避免版本冲突等,并且您不应该将实际项目文件放在虚拟 env 中。因此,如果您的项目文件与 virtualenv 位于同一级别的项目目录中,那么您的项目文件可以“访问”安装在 virtualenv 中的东西吗?目录之外的文件可以访问虚拟环境中的包吗?
【问题讨论】:
标签:
python
package
virtualenv
【解决方案1】:
是的,这完全取决于上下文。您的 virtualenv 可以存在于任何地方,无论是在您的项目目录中,还是在其他地方。
当你想使用 virtualenv 时,你只需要在它上面调用 source 命令。然后,您在任何文件上执行的任何 python 命令都可以访问 virtualenv。例如,如果您将 virtualenv 存储在 /home/user/project/virtualenv 中,那么您会这样做
source /home/user/project/virtualenv/bin/activate
那么无论你使用 python,它都是安装在 virtualenv 中的版本。
您可以通过执行which python 来仔细检查您使用的是全局 python 还是 virtualenv python。它将指向通常位于/usr/bin/python 或/home/user/project/virtualenv/bin/python 下的全局python 路径。
所以通常情况下,您首先执行source command,然后您可以在您已经需要的任何软件包上执行 pip install。它将安装在 virtualenv 中,并且不会与其他项目冲突。