3 回答
TA贡献1780条经验 获得超5个赞
--system-site-packages不复制包,它只允许来自 virtualenv 的 python 访问C:\Users\XXX\AppData\Local\Programs\Python\Python36\Lib\site-packages\.
无法复制软件包,因为它们可能依赖于它们的安装目录。如果您希望 virtualenv 中的这些包不要使用--system-site-packages并安装 virtualenv 中的所有包。
TA贡献1797条经验 获得超4个赞
如果不是强制使用 virtualenv,我建议使用 Anaconda。这将非常有助于您的担忧。
Conda 作为包管理器可帮助您查找和安装包。默认情况下,已经安装了很多包,以便为您的项目快速设置。要检查终端中安装的软件包列表,请键入: conda list 以获取使用 conda 安装的软件包。
如果你需要一个需要不同版本 Python 的包,你不需要切换到不同的环境管理器,因为 conda 也是一个环境管理器。
只需几个命令,您就可以设置一个完全独立的环境来运行不同版本的 Python,同时继续在您的正常环境中运行您常用的 Python 版本
TA贡献2003条经验 获得超2个赞
virtualenv 环境就像您刚刚安装了新版本的 Python 一样。除了 Python 提供的标准包之外,它没有其他包。如果您需要其他软件包,您必须使用“pip”安装它们,或者您可以使用您正在使用的本机 Python 版本来安装它们。
所以一般来说,只要做pip install <packagename>。
如果您发现自己经常想用一组标准的基础包创建 virtualenv,那么将一个 requirements.txt 文件放在一起,列出您想要作为基础安装的所有包,并pip install -r requirements.txt在创建后立即在新的 virtualenv 中执行.
virtualenv 的一个好处是它是你的。您的用户拥有 100% 的所有权,这与系统拥有的基本 Python 版本不同。要将新软件包安装到基本 Python 版本中,您通常必须具有 root 访问权限(sudo 权限)。使用 virtualenvs,你不需要特殊的权限(事实上,如果你sudo在 virtualenv 中使用,你会被搞砸)来安装你想要的所有包。你所做的一切都在你自己的主目录中。另一个巧妙的事情是,当你完成一个 virtualenv 时,你只需扔掉包含它的根目录。
添加回答
举报
