PEP 668解决了安装在隐式全局上下文中的依赖项之间的冲突问题,建议“Python特定的包管理工具默认情况下不应将包安装或删除到解释器的全局上下文中,而应引导最终用户使用虚拟环境”。 PEP还概述了如何将Python解释器标记为外部管理;我已经在docker中测试了以下过程并验证了它的工作原理。 通过运行(在python中)确定解释器的stdlib的安装位置
[externally-managed]
Error=Runnning outside of virtualenv
型 如果没有这个文件,您可以在全局上下文中执行pip install。
error: externally-managed-environment
× This environment is externally managed
╰─> Runnning outside of virtualenv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
2条答案
按热度按时间57hvy0tb1#
不是真的没有,但我也不太熟悉PowerShell.任何终端应用程序将显示某种提示它当前的环境.如下图所示:
https://medium.com/@astontechnologies/how-to-setup-a-virtual-development-environment-for-python-with-windows-powershell-4cd34b2f9f9b
你可以做的是为PowerShell编写一个启动脚本,在启动时运行一个命令来激活特定的环境,如果适用的话。如果没有,例如,你有几个环境,你必须手动完成或编写一些精心设计的脚本,根据当前工作目录激活给定的venv。
无论如何,如果你忘记了,有什么问题吗?我的意思是,这经常发生在我们身上,但是卸载一个软件包并不需要太多的努力。
qojgxg4l2#
PEP 668解决了安装在隐式全局上下文中的依赖项之间的冲突问题,建议“Python特定的包管理工具默认情况下不应将包安装或删除到解释器的全局上下文中,而应引导最终用户使用虚拟环境”。
PEP还概述了如何将Python解释器标记为外部管理;我已经在docker中测试了以下过程并验证了它的工作原理。
通过运行(在python中)确定解释器的stdlib的安装位置
字符串
在python外部,导航到stdlib路径并创建一个名为
EXTERNALLY-MANAGED
的文件,其中包含以下文本:型
如果没有这个文件,您可以在全局上下文中执行
pip install
。型
当然,这只是对你当前python解释器/版本的修复。如果你想要一个更永久的修复,你需要麻烦维护windows python的人采用PEP 668。