【发布时间】:2018-12-04 15:20:46
【问题描述】:
我刚刚了解到在使用 Python 和 Flask 的项目中使用虚拟库的重要性。我已经下载了一些包,包括flask-wtf、numPy和pandas。
如果我在虚拟环境之外的计算机上安装了它,当我在虚拟环境中运行程序时会导致任何问题吗?
此外,一旦将某些东西安装到虚拟环境中,是否会在终端关闭或环境停用后保存在该虚拟环境中?
【问题讨论】:
标签: python pip python-venv
我刚刚了解到在使用 Python 和 Flask 的项目中使用虚拟库的重要性。我已经下载了一些包,包括flask-wtf、numPy和pandas。
如果我在虚拟环境之外的计算机上安装了它,当我在虚拟环境中运行程序时会导致任何问题吗?
此外,一旦将某些东西安装到虚拟环境中,是否会在终端关闭或环境停用后保存在该虚拟环境中?
【问题讨论】:
标签: python pip python-venv
它不会引起任何问题。
并且包将被保存。当您重新激活虚拟环境时,这些包仍然存在。
【讨论】:
虚拟环境的目的是创建一个独立于您的基本机器安装的环境。您可以在虚拟环境中安装旧版本的 Python 库等,而不会影响您机器的基础环境。
因此,在虚拟环境中运行程序时,只要在虚拟环境中安装了正确版本的所需库,就不会出现问题。
关于关闭虚拟环境,该环境中安装的所有软件都会保留。当您稍后激活虚拟环境时,它将处于与您之前停用它时相同的状态。
我希望这个答案能澄清你的一些担忧。
【讨论】:
除非绝对需要,否则最好删除全局包。但是,它不会妨碍您机器的整体功能,但肯定会占用大量内存。
【讨论】:
$ virtualenv venv
创建一个名为 venv 的文件夹并将虚拟环境存储在那里。 已安装的软件包存储在 venv/lib/python?.?/site-packages 中,停用环境并关闭终端不会删除它们。 您可以删除 venv 文件夹,以防您出于某种原因想要删除您的虚拟环境。
您已全局安装的软件包(可能)不会影响您的虚拟环境。您(可能)不能在您已全局安装但不在环境中的虚拟环境包中使用。不过,根据this 和this 的说法,这似乎是可能的。
关于删除全局安装的包,前段时间,在使用 pip 升级全局安装的 Python 包后,我尝试更新整个系统时让自己头疼。 pip 升级的一些包是其他包的依赖项,并通过发行版的包管理器安装,而我的包管理器不喜欢这样。如果这对您来说不是问题,那么除了空间之外,我不知道在全局范围内安装它们的其他缺点。
【讨论】: