运行虚拟电话的编码错误“激活”

时间:2018-07-05 09:51:27

标签: windows encoding python-venv

我用python -m myvirtualenv创建了一个虚拟环境。

现在我要激活它: $ cd \ENV\myvirtualenv\Scripts $ activate wrong parameter - 850 $(myvirtualenv) 奇怪的是,当我停用然后再次激活时,错误消息会更改为“错误的参数-65001”,此后也不会更改。

除了错误以外,其他所有功能似乎都正常运行。

这是Win7,Python 3.7上的问题,在默认的Windows Shell和Cmder上均会出现。

1 个答案:

答案 0 :(得分:1)

这似乎是python(https://bugs.python.org/issue34144)中的错误。 甚至还有一个拉取请求正在等待审核(https://github.com/python/cpython/pull/8321)。

激活脚本首先应执行以下操作:

  1. 读取当前代码页(例如850)
  2. 将代码页更改为65001
  3. 做实际工作
  4. 返回更改代码页

由于该错误,当前代码页(例如850)由于尾随.而被错误地解析,因此无法在最后一步重新设置。这意味着在第二次运行中,它仍然是65001。