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