为什么我的 Python venv 目录是只读的?

Why is my Python venv directory read-only?

我是 Python 中虚拟环境的新手。我在 Windows 10 上使用 Python 3.9,以及管理员 Powershell 提示(通过 cmder)。

我创建了一个名为 toto 的新目录,将其设置为当前目录 ($ cd toto),然后 运行 以下命令:

$  python -m venv env

到目前为止一切顺利。但后来我想激活虚拟环境,使用以下命令:

$ .\env\Scripts\Activate.ps1

env 目录及其内容似乎是只读的(Windows 文件系统表明如此),我得到以下错误(很差 t运行slated从法语到英语):

+ CategoryInfo          : WriteError: (prompt:String) [Copy-Item], SessionStateUnauthorizedAccessException
+ FullyQualifiedErrorId : FunctionNotWritable,Microsoft.PowerShell.Commands.CopyItemCommand

Impossible to write in the prompt fonction, because it is constant or read-only.
At character D:\outils\PyperGraph\env\Scripts\Activate.ps1:227 : 5
+     function global:prompt {
+     ~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : WriteError: (prompt:String) [], SessionStateUnauthorizedAccessException
      + FullyQualifiedErrorId : FunctionNotWritable

为什么会发生这种情况,如何解决这个问题?

啊啊啊,我终于想通了。这个问题非常具体:这是由于我使用的终端,它是 cmder(一个终端仿真器,它为默认值 windows cmdpowershellpowershell 添加了几个功能其他)。

问题已讨论 [here],修复似乎对 cmder 配置文件中包含 -Options ReadOnly 的行进行了注释:cmder_path\vendor\profile.ps1.

经过测试和批准,现在一切正常。

另一种解决方法是不对 venv 使用 cmder