env 的编码错误 运行 `activate`
Encoding error running `activate` of a venv
我用 python -m myvirtualenv
创建了一个虚拟环境。
现在我要激活它:
$ cd \ENV\myvirtualenv\Scripts
$ activate
wrong parameter - 850
$(myvirtualenv)
奇怪的是,当我停用然后再次激活时,错误消息变为 "wrong parameter - 65001" 并且之后没有改变。
除了错误,一切似乎都正常。
这是 win7 python 3.7 上的问题,在默认 windows shell 和 Cmder 上都会出现。
这似乎是 python (https://bugs.python.org/issue34144) 中的错误。
甚至还有一个 pull request 等待审核 (https://github.com/python/cpython/pull/8321).
激活脚本首先应该执行以下操作:
- 读取当前代码页(例如 850)
- 将代码页更改为 65001
- 做实际工作
- 改回代码页
由于错误,当前代码页(例如 850)由于尾随 .
而被错误解析,并且无法在最后一步中重新设置。这意味着在第二个 运行 中它仍然是 65001。
我用 python -m myvirtualenv
创建了一个虚拟环境。
现在我要激活它:
$ cd \ENV\myvirtualenv\Scripts
$ activate
wrong parameter - 850
$(myvirtualenv)
奇怪的是,当我停用然后再次激活时,错误消息变为 "wrong parameter - 65001" 并且之后没有改变。
除了错误,一切似乎都正常。
这是 win7 python 3.7 上的问题,在默认 windows shell 和 Cmder 上都会出现。
这似乎是 python (https://bugs.python.org/issue34144) 中的错误。 甚至还有一个 pull request 等待审核 (https://github.com/python/cpython/pull/8321).
激活脚本首先应该执行以下操作:
- 读取当前代码页(例如 850)
- 将代码页更改为 65001
- 做实际工作
- 改回代码页
由于错误,当前代码页(例如 850)由于尾随 .
而被错误解析,并且无法在最后一步中重新设置。这意味着在第二个 运行 中它仍然是 65001。