【问题标题】:what's the matter with sublime text3 and python?sublime text3 和 python 是怎么回事?
【发布时间】:2017-04-24 16:02:24
【问题描述】:

我在使用 sublime 时遇到了问题。 我有几个由 virtualenv 创建的 python 环境,现在我想用其中一个环境运行我的项目,所以我用下面的设置构建了一个新系统

{
    "cmd": ["E:/virtualenv_python36/Scripts/python.exe", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

但是我在使用这个系统时遇到了异常

Traceback (most recent call last):
  File "C:\Users\kuo\Desktop\test.py", line 5, in <module>
    print(rps.read().decode())
UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 27237: illegal multibyte sequence
[Finished in 0.3s with exit code 1]
[cmd: ['E:/virtualenv_python36/Scripts/python.exe', '-u', 'C:\\Users\\kuo\\Desktop\\test.py']]
[dir: C:\Users\kuo\Desktop]
[path: C:\ProgramData\Oracle\Java\javapath;D:\Python36\Scripts\;D:\Python36\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Users\kuo\AppData\Local\Microsoft\WindowsApps;]

这是我的测试代码

import urllib.request

rps = urllib.request.urlopen('http://www.baidu.com')
print(rps.read().decode())

【问题讨论】:

标签: python sublimetext3


【解决方案1】:

Python 解释器似乎试图加载您的print 调用的结果,这是一个中文网页。可能它会尝试向您显示输出。

我不确定页面的编码和您的文件/缓冲区的编码是否相同。我宁愿对.decode() 使用显式参数。

(另外,请考虑使用requests。)

【讨论】:

  • 感谢您的建议,但是对于任何其他网站都是一样的,请求也会得到相同的异常。我认为我的 sublime 设置有问题。
  • 当我切换到sublime原来的python系统运行代码时,这个异常已经不存在了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-18
  • 2013-07-03
  • 2014-07-07
  • 2013-11-28
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
相关资源
最近更新 更多